在 CentOS 上运行或编译 Rust 程序时常见的报错,通常和系统依赖、glibc 版本、编译器环境有关。下面按常见场景给你一套“排错 + 解决”的思路。
error while loading shared libraries例如:
error while loading shared libraries: libssl.so.1.1: cannot open shared object file
解决:
sudo yum install -y openssl openssl-devel
常见依赖:
sudo yum install -y \
gcc gcc-c++ make \
openssl-devel \
pkgconfig \
zlib-devel \
curl-devel
version `GLIBC_2.18' not found
CentOS 7 默认是 glibc 2.17,很多新版 Rust 程序跑不了。
✅ 推荐:用 musl 静态编译
rustup target add x86_64-unknown-linux-musl
cargo build --release --target x86_64-unknown-linux-musl
✅ 或使用容器(推荐生产):
docker run --rm -v $PWD:/app -w /app rust:1.81 cargo build --release
❌ 不建议手动升级 glibc(容易系统崩)
cc 找不到error: failed to run custom build command for `openssl-sys`
sudo yum install -y gcc openssl-devel pkgconfig
如果使用 openssl crate:
[dependencies]
openssl = { version = "0.10", features = ["vendored"] }
然后:
cargo build
CentOS 8 已 EOL,建议:
sudo dnf install -y rust cargo
或直接使用官方 Rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo build 2>&1 | tee build.log
cat /etc/centos-release
gcc --version
ldd --version
rustc --version
cargo --version
你可以把具体报错信息发给我,例如:
我可以一步一步告诉你精确解决办法,不用你瞎试。