在linux环境下编译rust程序,编译好的程序会依赖你当前系统的GLIBC库,也就是说你的程序无法在使用更低版本GLIBC库的linux系统中运行。
查看当前系统的GLIBC版本:
strings /lib64/libc.so.6 | grep GLIBC
为了让编译的程序依赖比较低版本的GLIBC库,我们最好在centos7下编译。这个可以用docker跑一个centos7容器来实现。
用 docker 启动一个centos-7容器:
docker run -it -d -v /home/codes/rust:/rust centos:7 bash
/home/codes/rust 是你rust代码所在目录,把它映射到容器里,准备编译。
然后到rust官网拷贝安装命令:
https://www.rust-lang.org/tools/install
curl --proto ‘=https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh
进入centos容器里,用上面命令安装rust
安装完毕,执行命令 source ~/.bashrc , 使cargo命令可以马上生效
更新centos源
rm -rf /etc/yum.repos.d/*.repo #删除repo文件,或者自己备份
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum makecache #更新缓存
安装 gcc
yum install gcc gcc-c++
然后就可以编译代码了