温馨提示×

centos怎么解决rust报错

小樊
38
2026-09-21 02:29:33
栏目: 编程语言

在 CentOS 上运行或编译 Rust 程序时常见的报错,通常和系统依赖、glibc 版本、编译器环境有关。下面按常见场景给你一套“排错 + 解决”的思路。


一、最常见问题:缺少依赖库

1. 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

二、CentOS 7 常见:glibc 版本太低

报错示例

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(容易系统崩)


三、Rust 编译报错: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 / Stream 问题

CentOS 8 已 EOL,建议:

sudo dnf install -y rust cargo

或直接使用官方 Rust:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

五、查看具体报错的通用步骤

  1. 完整贴出报错
cargo build 2>&1 | tee build.log
  1. 确认系统版本
cat /etc/centos-release
gcc --version
ldd --version
  1. 确认 Rust 版本
rustc --version
cargo --version

六、如果你愿意,我可以直接帮你定位

你可以把具体报错信息发给我,例如:

  • CentOS 版本(7 / 8 / Stream)
  • Rust 版本
  • 报错全文(哪怕是片段)

我可以一步一步告诉你精确解决办法,不用你瞎试。

0