EOS测试环境快速搭建

作者: 王巨 | 来源:发表于2018-03-01 19:06 被阅读1636次

经过几天的摸索,在重试编译了很多次之后,终于得出了一个结论:如果想测试 EOS 请使用 ubuntu 系统,非常方便。下面将近期的摸索的过程跟大家分享一下。

在 ubuntu 上编译

这里重点讲一下在 ubuntu 上编译 EOS。经过我数次实验,发现目前 EOS 官方推荐的 ubuntu 16.10版本已经不适合再做测试环境了,因为该版本官方已不再支持。之后我验证过 ubuntu 17.10和 ubuntu 16.04版本均可以在不做任何配置的情况下编译成功,并成功运行。(注意:以上操作系统均选用64位)

编译步骤
  • 准备一个ubuntu系统,我尝试使用过虚拟机自己安装,也使用过阿里云的服务器均可以编译。
  • 下载EOS代码
git clone https://github.com/EOSIO/eos.git -b DAWN-2018-02-14 --recursive

该指令有两个地方需要重点关注一下,首先是下载的版本应该是DAWN-2018-02-14版本,否则连接上测试网络后无法完全同步区块;另一个要注意的地方是要加入--recursive参数,否则EOS关联的子项目没法下载。如果命令没有加入参数,可以使用下面的命令来更新子项目

 git submodule update --init --recursive
  • 自动编译
cd eos
./build.sh ubuntu full

然后就是漫长的等待了,具体等待时间跟你的cpu配置和网络带宽强相关,。这里注意一下编译命令后面有个full参数,该参数是一个可选参数可以有 full 和 build 两个选项,full用于第一次编译或完全重新编译,它会重新尝试编译安装依赖项,build是仅编译EOS代码,在变更代码后可以使用以下命令重新编译

./build.sh ubuntu build
在MacOS上编译

先说结论,我经过几次的编译,我个人建议不要在MacOS测试编译EOS,如果需要编译就一定要遵循官方的推荐的MacOS 10.12版本,不要使用10.13版本。如果已经升级为最新版本,那么在编译时需要注意boost库的版本,不能高于1.65。这个在编译时不会提示,因为Mac下的包管理工具brew不支持特定版本的包下载。可以使用该地址https://homebrew.bintray.com/bottles/boost-1.65.1.high_sierra.bottle.tar.gz将boost1.65下载到本地,然后手工解压并复制到/usr/local/Cellar/boost。编译使用以下命令:

./build.sh darwin full
最后一步

需要进入build目录然后执行以下命令:

cd build
make install

该命令会将编译好的可执行文件、头文件、库文件和模板文件安装到build下的install目录下,在该目录的bin下有所有编译好的命令,包括eosd、eosc、eoscpp等等。


EOS打赏地址0x078C5AF6C8Ab533b8ef7FAb822B5B5f70A9d1c35

相关文章

网友评论

  • 红色海san:应该早些看到这个,自己先用centos无法成功,换到ubuntu才成功。
  • songguo123:顶下,分享个EOS开发视频,https://www.lanzous.com/b325759/ 密码:d55l
  • wangwenhao:git 下载代码的时候 可以尝试把 https:// 换成 git:// 速度提高很多
  • 小胖暖她爹:Ubuntu 脚本安装一键到底,哈哈
  • 掂吾掂:我也来发表一下意见吧...没试过这么艰难的编译之路,在MAC OS 10.13按照官网的方式去编译是成功的,但是你启动eosid的时候会报错提示:没有区块产生。这是EOS团队的问题,github主页团队都说现在master是不稳定的,你只能切换到dawn-2.x去测试,但是如作者所说,如果你的MAC的系统是10.13 你切换到dawn-2.x还是会报错的...所以我总结一句话:目前的EOS不适合用MAC去测试,要真的去测试那就用ubuntu系统吧..
  • 卢衍泓:我在腾讯云上安装了ubuntu 16.04.01 LTS,按操作编译./build.sh ubuntu full
    等来的却是如下结果,想玩下EOS,真是坎坷
    ----

    PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
    Preprocessed source(s) and associated run script(s) are located at:
    clang: note: diagnostic msg: /tmp/ip-559818.cpp
    clang: note: diagnostic msg: /tmp/ip-559818.sh
    clang: note: diagnostic msg:

    ********************
    libraries/fc/CMakeFiles/fc.dir/build.make:1118: recipe for target 'libraries/fc/CMakeFiles/fc.dir/src/network/ip.cpp.o' failed
    make[2]: *** [libraries/fc/CMakeFiles/fc.dir/src/network/ip.cpp.o] Error 254
    make[2]: *** Waiting for unfinished jobs....
    CMakeFiles/Makefile2:130: recipe for target 'libraries/fc/CMakeFiles/fc.dir/all' failed
    make[1]: *** [libraries/fc/CMakeFiles/fc.dir/all] Error 2
    Makefile:160: recipe for target 'all' failed
    make: *** [all] Error 2
    :sleepy: :sob: :sweat:
    卢衍泓:@王巨 git clone https://github.com/EOSIO/eos.git -b DAWN-2018-02-14 --recursive 下载
    这次直接编辑不过,感觉坑是好多。哪里又不对呢,我是新装的ubuntu,但瞎装了一堆软件了
    ---

    See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.

    "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -m64 -fno-strict-aliasing -ftemplate-depth-1024 -fvisibility=hidden -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_STATIC_LINK=1 -DBOOST_CHRONO_STATIC_LINK=1 -DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_HAS_ICU=1 -DBOOST_LOG_BUILDING_THE_LIB=1 -DBOOST_LOG_HAS_PTHREAD_MUTEX_ROBUST -DBOOST_LOG_USE_AVX2 -DBOOST_LOG_USE_NATIVE_SYSLOG -DBOOST_LOG_USE_SSSE3 -DBOOST_LOG_WITHOUT_DEBUG_OUTPUT -DBOOST_LOG_WITHOUT_EVENT_LOG -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_DONT_USE_CHRONO=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_LIB=1 -DDATE_TIME_INLINE -DNDEBUG -D_XOPEN_SOURCE=600 -D__STDC_CONSTANT_MACROS -I"." -I"libs/log/src" -c -o "bin.v2/libs/log/build/gcc-5.4.0/release/link-static/threading-multi/named_scope_format_parser.o" "libs/log/src/named_scope_format_parser.cpp"

    ...failed gcc.compile.c++ bin.v2/libs/log/build/gcc-5.4.0/release/link-static/threading-multi/named_scope_format_parser.o...
    packet_write_wait: Connection to 119.29.75.31 port 22: Broken pipe
    卢衍泓:@王巨 我删了再试下
    王巨:@luyhdf 代码怎么下载的?
  • 叶先生的鱼:相当厉害!:+1:
  • 卢衍泓:我再mac上按官方教程试了好几次,一直没成功。感谢作者,我也在ubuntu下试试:smile:
    王巨:@luyhdf Mac上很麻烦,特别是你升级了10.13系统之后。我编译成功了,但是修改了挺多地方的。

本文标题:EOS测试环境快速搭建

本文链接:https://www.haomeiwen.com/subject/zdsjtftx.html