lotus踩坑记录

1.crate.io源的问题

##crate.io源的问题 
如果因为编译的时候卡住
提示是:(Updating crates.io index)
##解决方法:可以尝试更改crate.io的源为国内的源
使用方法: vim ~/.cargo/config
# 上海交通大学(正常使用)
[source.crates-io]
replace-with = 'sjtu'
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"

# 清华的源
[source.crates-io]
replace-with = 'tuna'
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

# rustcc社区
[source.crates-io]
replace-with = 'rustcc'
[source.rustcc]
registry = "git://crates.rustcc.cn/crates.io-index"

2.Go版本太低的问题

lotus 的 interopnet 分支在编译的时候,如果检测到 go 的版本低于 1.14
#解决方法,安装新版本的Go,并软连接/usr/bin/go到新版的Go可执行文件中(也可以卸载旧版的Go)
#Ubuntu 20.04 示例
sudo apt install golang-1.14
#删除原来的 go 软链接
sudo rm /usr/bin/go
#让它链接到新版本的 go 可执行文件中
sudo ln -s /usr/lib/go-1.14/bin/go /usr/bin/go

3. 编译提示Rustup 1.43.1版本找不到

在编译最新版本的时候遇到错误提示:
error:coild not download nonexistent rust version`1.43.1-x86_64-unknown-linux-gnu`
#解决方式是跳过这个版本,直接使用nightly的版本,替换一下这个文件中的1.43.1为nightly
echo "nightly" > ./extern/filecoin-ffi/rust/rust-toolchain
最后重新编译,即可正常编译.

4.panic: qtls.ClientSessionState not compatible with tls.ClientSessionState 不兼容

#处理思路 可能是因为安装Go最新版导致的问题  
#第一:降级
使用aptitude工具降级
安装:
apt-get install -y aptitude
命令解释:
aptitude install 包名=包的版本号
使用aptitude命令进行降级:
aptitude install libncurses5=5.7

#第二:安装低于最新版的Go语言,让它们共存 
apt-get update 
apt-get upgrade 
apt install -y golang-1.14-go 

#第三:删除之前的Go,上传解压低版本的Go
rm -rf /usr/local/go
tar xf go1.14.7.linux-amd64.tar.gz -C /usr/local
make clean && make all
make install

目前就遇到这么多坑,后期如果还有的话会继续补充出来!

猜你喜欢

转载自blog.csdn.net/HYXRX/article/details/113882261