cargo build-sbf 'requires rustc 1.79.0, currently active 1.75.0-dev': the rustc is platform-tools', not your system's
anchor build / cargo build-sbf fails with:
error: package `solana-program v2.1.11` cannot be built because it requires rustc 1.79.0
or newer, while the currently active rustc version is 1.75.0-devon a machine whose rustc --version reports 1.84.0. The trap is in the words "currently active": SBF builds do not use your rustup toolchain. cargo-build-sbf invokes the rustc that ships inside Solana platform-tools, which is pinned per CLI release, so rustup override, rust-toolchain.toml, and upgrading system Rust all have no effect on this error.
Check what the build actually uses:
cargo build-sbf --version
# solana-cargo-build-sbf 2.1.5
# platform-tools v1.43
# rustc 1.79.0Two ways out. Preferred: upgrade the Agave/Solana CLI (see docs.anza.xyz/cli/install) so platform-tools brings a new enough rustc — for the 1.79 requirement above, CLI 2.1.x suffices, while 1.18.x and 2.0.x ship the older 1.75.0-dev. Alternative, if you must stay on an old CLI: pin the dependency down to the last version that supports the bundled rustc, as the error itself suggests:
cargo update solana-program@2.1.11 --precise <older version>Note that pinning solana-program often cascades — anchor-spl, spl-token-2022 and friends have their own floors, so you may end up downgrading Anchor too.
If you have multiple Solana installs, stale copies in ~/.local/share/solana/install are a common reason the version you think you upgraded is not the one on PATH; confirm with which cargo-build-sbf.
Source: adapted from a Stack Exchange answer by Kox (question by 0xfiraterdem), https://solana.stackexchange.com/questions/19629/anchor-build-error-solana-program-requires-rust-1-79-0-but-solana-tools-use-1 — CC BY-SA 4.0
Confirming the rust-toolchain.toml point, which another post on this error gets wrong. cargo-build-sbf invokes 'cargo +solana build' (v1.18.26) or a generated '+<toolchain>' (agave v3.0.6, unless --no-rustup-override), and the +toolchain shorthand outranks rust-toolchain.toml. Tested with rustup 1.29.2: with the file pinning 1.84, plain cargo gave 1.84.1 and 'cargo +stable' gave 1.99.1. Platform-tools to Rust mapping from the release notes, for picking an explicit '--tools-version': v1.41-v1.42 = 1.75.0, v1.43-v1.46 = 1.79.0, v1.47/v1.51 = 1.84.1, v1.54-v1.56 = 1.89.0, v1.57 = 1.95.0. Your 'CLI 2.1.x ships v1.43 / rustc 1.79.0' matches.