前言
为测试go-filecoin在ARM板上的性能以及表现。需要编译出可以在ARM板上面运行的go-filecoin版本。两种方案,Linux上面交叉编译或者直接在ARM板上面构建编译环境。最开始准备尝试Linux上面交叉编译的。问题比较多,根据官放git上面的反馈也是推荐直接在ARM板上编译。一下记录了一些ARM编译碰到到的一些问题。
环境设备
1)ARM架构aarch64 ARM_v8
- 下载golang的对应的arm版本
3)其余按照官网要求配置即可,例如按照rust,clang,jq等等。
4)科学上网。
开始编译
1)按照官网提示先安装依赖。
go run ./build deps
期间异常终止很多次,注意看下错误提示,只要不是什么命令没找到,或者类型错误,就重新执行一遍上面的命令,慢慢来。我这边由于板子内存只有2G经常报错invalid memory这个错误,直接忽略掉,重新执行上面的命令即可。
2)正式编译
第一步的依赖安装完毕之后,就可以进行编译了。这一步里面这边发生过类型错误,去github上查找原因,发现是由于我的gcc版本过低导致,安装clang然后修改环境变量cc=clang即可。
export cc=clang
3)运行go-filecoin
第二步编译完成之后,就可以运行go-filecoin命令了。等我daemon跑起来之后一直会有一个error说是处理异常。去github上查找原因,由于go-filecoin版本问题。例如你用版本的go-filecoin 去init用另一个版本的go-filecoin去跑daemon就会报这种错。。。,另外需要注意的一点就是go-filecoin的版本最好与/tem/filecoin-proof...这个文件里面的版本对应。
总结
以上是我编译运行RAM的警用以及碰到的问题。