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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 07:22:41