When you make a build of your Solana program with
cargo build-sbf or
cargo build-bpf or
anchor build it fails with an error that suggests that you have old
rustc than required.
$ cargo build-sbf error: package `solana-program v1.16.14` cannot be built because it requires rustc 1.68.0 or newer, while the currently active rustc version is 1.62.0-dev
It is confusing, especially if you are a Rust developer and uses one of the latest version of
rustc -V rustc 1.72.0 (5680fa18f 2023-08-23)
By the way, if you are using
build-bpf, it is deprecated, and it is better to switch to
build-sbf. Here and after I continue to use
build-sbf version and the same applies to
When you use
cargo build-sbf it uses
rustc installed with Solana tools.
To fix the error, you need to get the latest version or newer enough for your program dependencies of Solana tools. Run the following command to upgrade:
$ solana-install init 1.16.15
You may want to replace "1.16.15" with the latest available version or required version (see the build error message you got).
In case if you do not have
solana-install CLI utility you can install it on MacOS & Linux with the command:
$ sh -c "$(curl -sSfL https://release.solana.com/v1.16.15/install)"
or on Windows with the command:
$ cmd /c "curl https://release.solana.com/v1.16.15/solana-install-init-x86_64-pc-windows-msvc.exe --output C:\solana-install-tmp\solana-install-init.exe --create-dirs"