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

feat/allow solana versions up to v1.17.* and pin Rust 1.77 nightly compiler #128

Merged
merged 2 commits into from
Feb 23, 2024

Conversation

Ikrk
Copy link
Contributor

@Ikrk Ikrk commented Feb 22, 2024

Rust 1.77 nightly compiler was pinned to this version because the current nightly 1.78 causes problems with ahash dependency that is pinned by solana dependencies (tkaitchuck/aHash#200).

@Ikrk Ikrk requested a review from lukacan February 22, 2024 00:00
@lukacan
Copy link
Collaborator

lukacan commented Feb 22, 2024

I built this trdelnik PR, then initialized fresh anchor project with anchor 0.29.0, and then called trdelnik init, I`ve got use of unstable library feature 'build_hasher_simple_hash_one'

@Ikrk
Copy link
Contributor Author

Ikrk commented Feb 22, 2024

It works for me, what solana-cli version do you have?
I have solana-cli 1.18.1...

@@ -405,7 +405,7 @@ impl Commander {
let program_idls_codes = self.program_packages().map(|package| async move {
let name = package.name;
let output = Command::new("cargo")
.arg("+nightly")
.arg("+nightly-2023-12-28-x86_64-unknown-linux-gnu")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need a specific nightly version? It works for me If I use only +nightly

@@ -508,7 +508,7 @@ impl Commander {
#[throws]
pub async fn parse_program_client_imports(&self) -> Vec<syn::ItemUse> {
let output = Command::new("cargo")
.arg("+nightly")
.arg("+nightly-2023-12-28-x86_64-unknown-linux-gnu")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need a specific nightly version? It works for me If I use only +nightly

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you update the nightly with rustup update nightly to v1.78, than there is an issue of ahash crate compilation. So forcing the nightly v1.77 is a workaround here. Changing the ahash version is not possible because it is pinned by some solana dependencies.

@Ikrk
Copy link
Contributor Author

Ikrk commented Feb 22, 2024

There was an issue with the Solana CLI v1.18.* with the bpf_loader and the deployment of programs during poc_test did not work. On the other hand, it is not possible to initialize Anchor 0.29.0 project without v1.18.* CLI, so this version was imperative. The solution was to switch to bpf_upgradable_loader.

@Ikrk Ikrk requested a review from lukacan February 22, 2024 23:39
@lukacan lukacan merged commit 8ba76bf into develop Feb 23, 2024
7 checks passed
@lukacan lukacan deleted the feat/pin-dependencies branch February 23, 2024 11:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants