Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error: package solana-program v1.18.0 cannot be built because it requires rustc 1.72.0 or newer, while the currently active rustc version is 1.68.0-dev #34987

Closed
hammad-ali18 opened this issue Jan 27, 2024 · 18 comments
Labels
community Community contribution

Comments

@hammad-ali18
Copy link

hammad-ali18 commented Jan 27, 2024

Problem

I am using anchor framework ,and running anchor build.
I am having a problem between solana-program and rustc , I have confirme rustc --version 1.72.0 on my console, where I am getting the problem?

error: package solana-program v1.18.0 cannot be built because it requires rustc 1.72.0 or newer, while the currently active rustc version is 1.68.0-dev
anchorerror

Proposed Solution

@hammad-ali18 hammad-ali18 added the community Community contribution label Jan 27, 2024
@billythedummy
Copy link
Contributor

billythedummy commented Jan 28, 2024

Looks like someone on the team forgot to update the sbf sdk before releasing 1.18.0.

Basically when you build a solana program with cargo-build-sbf, you're not actually using your system's rust compiler. You're using one with changes necessary for building solana programs (repo: https://github.com/solana-labs/rust). This is typically located at ~/.local/share/solana/install/active_release/bin/sdk/sbf/dependencies/platform-tools if you had installed it with the provided shell script.

You can check which version of of rustc cargo-build-sbf is using by running cargo-build-sbf --version which should output something like this:

solana-cargo-build-sbf 1.17.6
platform-tools v1.37
rustc 1.68.0

By right, solana v1.18.0 should be using their patched version of rustc 1.72 (the default solana-tools-v1.39 tag on their rust fork linked above) but I guess someone forgot to update the install tool script. Your best bet is probably to downgrade to 1.17 for now. 1.18 is marked as a pre-release anyway.

EDIT: sorry, had this issue confused with #32361 (comment) and thought that the install script wasnt working correctly. Just tried the build tools for 1.18, it works fine, installs the patched rustc 1.72 and all

@hammad-ali18
Copy link
Author

Yes!, it worked.
I deleted the cargo.lock file and than use cargo add solana-program@=1.17.0
and than typed anchor build it worked . Thanks man.

@billythedummy
Copy link
Contributor

billythedummy commented Jan 28, 2024

In general you need your solana tools versions to match whatever version of solana-program is being used in your program.

To handle working with multiple solana-program versions across different programs, I keep the following bash alias around to change the symlink of the active solana release to the desired version:

function solana_vers() { ln -sfn ~/.local/share/solana/install/releases/$1/solana-release ~/.local/share/solana/install/active_release; }
alias solanavers="solana_vers"

# Example usage: solanavers 1.18.0

You can confirm that your build tools are the correct version using cargo-build-sbf --version and if they aren't after changing the solana version, you can use cargo-build-sbf --force-tools-install to install the correct one.

@FrackinFamous
Copy link

FrackinFamous commented Jan 28, 2024

Forced 1.17 as suggested @billythedummy . Did it just like @hammad-ali18 did by running cargo add solana-program@=1.17.0

That worked! Well it worked to update my crates to 1.17 but now it opened up more errors.

error: linker cc not found
|
= note: No such file or directory (os error 2)

error: could not compile proc-macro2 due to previous error
warning: build failed, waiting for other jobs to finish...
error: could not compile semver due to previous error
error: could not compile syn due to previous error

I am still doing the Hello World program on the solana site not on Anchor. I'm over it though. I want nothing to do with Trying to learn where the Hello World tutorial is busted. Lmao.

@jakerumbles
Copy link

jakerumbles commented Jan 28, 2024

Getting same error here
image

and then if I follow the advice for cargo add solana-program@=1.17.0 then I end up with new errors
image

@billythedummy
Copy link
Contributor

error: linker cc not found
|
= note: No such file or directory (os error 2)

Do you have build-essential and pkg-config apt installed?

@FrackinFamous
Copy link

@billythedummy I did not have them installed. I'm going to nuke my server and start yet again lol. Have you tried running line by line through the install on a fresh build to see where we are getting stuck? I'm sorry that's a bit of an ask but I'd really like to see your process to get around our issue.

@FrackinFamous
Copy link

Screenshot (194)
bleh... fresh install on brand new server. build-essential, pkg-config and every other thing I could think of, search or make up to install beforehand and this is what we get.

@hamzagill906
Copy link

hamzagill906 commented Jan 29, 2024

to resolve this Error Simply Run 2 Commands
1- cargo add solana-program@=1.17.0
Then Run
2- cargo update -p solana-program

After Simply Run : anchor build . and you Good To Go

@joncinque
Copy link
Contributor

You have two options to resolve this without downgrading:

  • Upgrade to the 1.18 tools with solana-install init 1.18.0
  • As of cargo build-sbf that comes bundled with 1.16, you can use the --tools-version argument to use a different version of the build tools. Version 1.39 of the build tools contains a Rust compiler at 1.72, so you can run: cargo build-sbf --tools-version v1.39

@FrackinFamous
Copy link

FrackinFamous commented Jan 29, 2024

@hamzagill906 thank you so much. I actually solved it a couple hours ago and I'll pin it here when I figure out how to do that and wake up! 😂. Had 1.5 hours of sleep before getting my son to school after coding last night. I had to do one thing in addition to what you said and that was put the = sign inside the quotes in my Cargo.toml to make the version stick:
solana-program = "=1.17.17"

Perfect response though and I greatly appreciate it! 👊🏻

@FrackinFamous
Copy link

FrackinFamous commented Jan 29, 2024

@joncinque Great info! This what I'm talking about. A few nuggets of info like this added to the docs and the tutorials would save a lot of people much grief when first arriving. Plus save a whole lot more people from hearing my bitching! 😂❤️❤️

@hamzagill906
Copy link

hamzagill906 commented Jan 29, 2024

@jakerumbles if you are facing issue like use of unstable library feature 'build_hasher_simple_hash_one'

in your respective project. locate the folder.
programs/xyz_proj_name/cargo.toml file. it will work if you are using solana-program = { version = "=1.17.0"}

Simply you have to add the dependency list.

[dependencies] ahash = "=0.8.6"

i tried and it works in my case. So you can also Try.

@FrackinFamous
Copy link

#34991 Was where I finally had the aha moment and listened to everyone about making cli and solana-program line up but the comments in here are solving it as well! Sorry for the commotion yesterday but it appears many more of us a getting it installed properly 🤣

@joncinque
Copy link
Contributor

A few nuggets of info like this added to the docs and the tutorials would save a lot of people much grief when first arriving

This issue blind-sided me too if I'm being honest 😅 I wrote up this Stack Exchange question in the hopes that others find it: https://solana.stackexchange.com/questions/9798/error-building-program-with-solana-program-v1-18-and-cli-v1-17/9799#9799

If there are no more questions, I'll close this issue

@acheroncrypto
Copy link
Contributor

People ask about this error all the time so I'm linking #31428 once again.

@judeVector
Copy link

Getting same error here image

and then if I follow the advice for cargo add solana-program@=1.17.0 then I end up with new errors image

I was having the same issue and I solved it with this

cargo update -p [email protected] --precise 0.8.6

@joncinque joncinque closed this as not planned Won't fix, can't repro, duplicate, stale Jan 31, 2024
@jakerumbles
Copy link

Thanks a ton @hamzagill906! It compiles now with this for my cargo.toml
image

@solana-labs solana-labs locked as resolved and limited conversation to collaborators Feb 8, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
community Community contribution
Projects
None yet
Development

No branches or pull requests

8 participants