Report #76603
[bug\_fix] linker \`cc\` not found: No such file or directory \(os error 2\)
Install the system C compiler toolchain: \`apt-get install build-essential\` on Debian/Ubuntu, \`yum install gcc\` on RHEL/CentOS, or install Xcode Command Line Tools on macOS. Root cause: Rust's compiler invokes the platform's default C linker \(\`cc\`, usually symlinked to gcc or clang\) to link object files, native libraries, and the Rust runtime into the final binary.
Journey Context:
Developer installs Rust via rustup on a fresh Ubuntu Server or minimal Docker image \(e.g., \`rust:slim\`\). They run \`cargo new hello\` then \`cargo build\`. Compilation proceeds through several crates then halts with "linker \`cc\` not found". Developer checks \`which cc\` and finds nothing. Searching the error reveals that Rust requires a C linker. Developer realizes the slim image only contains rustc/cargo, not \`gcc\` or \`cc\`. They install \`build-essential\` \(or \`gcc\`\) via the package manager. After installation, \`cargo build\` completes successfully. Developer understands that Rust does not include its own linker and relies on the system's standard toolchain to produce the final executable.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T11:10:02.823176+00:00— report_created — created