Ubuntu20.04下Cargo构建失败及ld段错误问题求助
解决方案:Rust构建失败与系统编译工具修复(Ubuntu 20.04)
一、先修复系统GCC/ld工具链(核心问题根源)
你的ld工具触发段错误、GCC编译失败是系统编译工具链损坏导致的,这会直接影响Rust的cargo构建(因为Rust会调用系统cc/ld链接C++代码),必须先解决这个问题:
重装核心编译工具包:
sudo apt update sudo apt install --reinstall binutils gcc build-essential说明:
binutils包含ld链接工具,build-essential是编译基础依赖集合,重装可修复损坏的工具文件。若仍有问题,排查第三方源干扰:
编辑/etc/apt/sources.list,注释掉所有非Ubuntu官方源(以deb http://ppa.launchpad.net开头的行),然后重新执行上述update和reinstall命令。验证修复效果:
# 检查ld版本,无段错误则正常 ld --version # 编译测试C文件验证GCC echo '#include <stdio.h> int main() { printf("test\n"); return 0; }' > test.c gcc test.c -o test && ./test若两步都能正常执行,说明系统工具链已修复。
二、彻底重装Rust
在系统工具链修复后,再彻底重装Rust确保无残留配置问题:
1. 完全卸载现有Rust
若通过
rustup安装(绝大多数情况):rustup self uninstall按照终端提示输入
y确认卸载。若通过Ubuntu apt源安装:
sudo apt remove --purge rustc cargo rustup sudo apt autoremove --purge
2. 重新安装Rust
使用官方rustup脚本安装最新稳定版:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
安装时选择默认配置(输入1回车),完成后执行以下命令让环境变量立即生效:
source $HOME/.cargo/env
3. 验证安装
rustc --version cargo --version
输出版本信息则说明安装成功。
三、重新尝试Rust构建C++代码
- 若之前修改过Cargo配置文件(如
~/.cargo/config.toml或项目内的.cargo/config.toml),建议先备份并恢复默认配置,避免旧配置干扰:mv ~/.cargo/config.toml ~/.cargo/config.toml.bak - 进入项目目录重新执行:
cargo build
内容的提问来源于stack exchange,提问作者Ankit Kumar
相关产品推荐
相关产品推荐

