Build EOS on ubuntu 16.04
为了和官方测试链对接,选择的是dawn-2.x
分支。官方推荐的是在Ubuntu 16.10
上面编译,但是我只有16.04,想来应该是差不多的。
参考官方文档,直接开干。
第一个坑
第一个坑其实是关于git的,具体一点就是关于git的子模块的。如果在命令行checkout dawn-2.x分支,一定不要忘了在子模块不会自动切换分支。而且,手动切换后,也会留下一堆Untracked files
,我是直接没管。
第二个坑
一开始自然是使用自动编译脚本./build.sh ubuntu
。前面的下载和配置都没有报错,直到编译的时候,提示找不到clang
,而且是opt/wasm/bin/
下找不到。这好办,找到/usr/bin/clang-4.0
,在opt/wasm/bin/
下创建个链接就好
第三个坑
然后make -j4
,还是提示错误,仔细一看,是binaryen
没有。处理第一个坑的时候,明明看到binaryen
明晃晃的躺在opt/
目录下,怎么没有了?进去一看,居然是空的!!
把官方文档翻到手动编译部分,找到binaryen
的github地址,开始clone,只是速度非常慢。过了一段时间,一看已经失败了。提示错误信息:
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
Google之后,网友们会告诉你,这是缓存不够的原因。设置下git的配置 git config --global http.postBuffer 524288000
,把缓存加大。而我修改了这个设置之后,又设置了http代理,几秒钟就把代码拉下来了。
大概也就遇到了这两个问题,应该说还算是比较顺利的。文档上说要下载secp256k1-zkp
,然后我找了下,自动化脚本应该没有下载,而我也没有手动去下,并没有影响到编译和运行。