You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL Ubuntu下Cargo安装工具时OpenSSL链接错误的解决方法

解决WSL Ubuntu中Cargo工具编译时的GLIBC版本依赖问题

问题根源

你遇到的问题是系统自带的GLIBC版本低于libcrypto.so(OpenSSL依赖)要求的2.33/2.34版本,而linuxbrew安装的GLIBC 2.35默认不会被编译工具优先调用,手动安装的GLIBC也因未配置环境变量无法生效。

解决步骤

1. 确认系统GLIBC版本

先检查当前系统的GLIBC版本,确认确实低于依赖要求:

ldd --version

2. 利用Linuxbrew的GLIBC进行编译

Linuxbrew的GLIBC独立安装在/home/linuxbrew/.linuxbrew路径下,只需配置环境变量让编译工具优先使用它:

  • 先激活Linuxbrew环境:
    eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
    
  • 设置编译链接参数:
    export LDFLAGS="-L/home/linuxbrew/.linuxbrew/lib -Wl,-rpath,/home/linuxbrew/.linuxbrew/lib"
    export CPPFLAGS="-I/home/linuxbrew/.linuxbrew/include"
    export PKG_CONFIG_PATH="/home/linuxbrew/.linuxbrew/lib/pkgconfig"
    
  • 执行Cargo安装命令:
    cargo install cargo-audit cargo-tarpaulin cargo-edit
    

3. 持久化环境变量(可选)

如果不想每次启动shell都手动配置,把上述环境变量添加到你的shell配置文件(比如~/.bashrc或~/.zshrc):

echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
echo 'export LDFLAGS="-L/home/linuxbrew/.linuxbrew/lib -Wl,-rpath,/home/linuxbrew/.linuxbrew/lib"' >> ~/.bashrc
echo 'export CPPFLAGS="-I/home/linuxbrew/.linuxbrew/include"' >> ~/.bashrc
echo 'export PKG_CONFIG_PATH="/home/linuxbrew/.linuxbrew/lib/pkgconfig"' >> ~/.bashrc

执行source ~/.bashrc重新加载配置即可生效。

4. 替代方案:升级系统GLIBC(谨慎操作)

若不想依赖Linuxbrew,可尝试通过PPA升级系统GLIBC,但此操作可能导致系统依赖冲突,建议先备份WSL镜像:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install libc6-dev

为什么手动安装GLIBC无效?

手动安装的GLIBC未配置LDFLAGS和CPPFLAGS,编译工具会优先使用系统默认路径下的低版本GLIBC,导致链接时依然找不到高版本函数。

内容的提问来源于stack exchange,提问作者benjscho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 01:45:34