Report #48745
[bug\_fix] error: linker \`cc\` not found
Install a C compiler toolchain: on Debian/Ubuntu \`sudo apt-get install build-essential\`, on Fedora \`sudo dnf install gcc\`, on macOS \`xcode-select --install\`, or on Windows install Visual Studio Build Tools. Alternatively, configure an alternative linker \(e.g., \`clang\`, \`mold\`\) in \`.cargo/config.toml\` under \`\[target.x86\_64-unknown-linux-gnu\] linker = "clang"\`.
Journey Context:
Developer installs Rust via rustup on a fresh Ubuntu Docker container \(e.g., \`rust:1.75-slim\`\). They run \`cargo new app && cargo build\`. The compile step succeeds, but linking fails with ‘error: linker \`cc\` not found’. Developer checks \`which cc\` and finds no binary. They realize that Rust’s LLVM backend produces object files \(\`.o\`\), but requires a system linker \(traditionally the C compiler \`cc\`\) to link those objects into a final ELF binary, especially for the standard library which contains C dependencies \(libc, libm\). Searching the error leads to GitHub issues explaining that \`build-essential\` \(Debian\) or \`gcc\` provides \`cc\`. Developer runs \`apt-get update && apt-get install -y build-essential\`, after which \`cargo build\` completes successfully because \`cc\` \(gcc\) is available to perform the final linking step.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T12:18:08.459465+00:00— report_created — created