solana-labs / solana

Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces.
https://solanalabs.com
Apache License 2.0
13.21k stars 4.31k forks source link

solana installer for raspberry pi buster #20570

Closed mrki0620 closed 1 year ago

mrki0620 commented 3 years ago

Problem

The installer for linux distribution, does not fit for raspberry pi armv8

Proposed Solution

Create a linux installer also for raspberry pi.

mrki0620 commented 3 years ago

Hi to all I followed the procedure to build the solana from source as described in this post Availability of ARM builds #17687 Using the command and unzipping the 1.8.0 version ./scripts/cargo-install-all.sh . But I get the below error: Compiling dialoguer v0.6.2 error: failed to run custom build command for librocksdb-sys v6.17.3

Caused by: process didn't exit successfully: /home/mrkipi/solana_install/solana-1.8.0/target/release/build/librocksdb-sys-eff25bc6c9dc0c38/build-script-build (exit code: 101) --- stderr thread 'main' panicked at 'Unable to find libclang: "couldn\'t find any valid shared libraries matching: [\'libclang.so\', \'libclang-.so\', \'libclang.so.\', \'libclang-.so.\'], set the LIBCLANG_PATH environment variable to a path where one of these files can be found (invalid: [])"', /home/mrkipi/.cargo/registry/src/github.com-1285ae84e5963aae/bindgen-0.57.0/src/lib.rs:1975:31 note: run with RUST_BACKTRACE=1 environment variable to display a backtrace warning: build failed, waiting for other jobs to finish... error: build failed

Do you have any clues? Thanks for your answer, Peter

mvines commented 3 years ago

Please install the the apt-get packages listed in https://github.com/solana-labs/solana#1-install-rustc-cargo-and-rustfmt

mvines commented 3 years ago

You're missing clang in particular

mrki0620 commented 3 years ago

Hi mvnives.

Thanks for the answer first. I followed the instructions and installed

sudo apt-get update sudo apt-get install libssl-dev libudev-dev pkg-config zlib1g-dev llvm clang make but still getting below error at compiling/building the v1.8.0 test release solana_rbpf module

error[E0512]: cannot transmute between types of different sizes, or dependently-sized types --> /home/mrkipi/.cargo/registry/src/github.com-1285ae84e5963aae/solana_rbpf-0.2.11/src/vm.rs:950:35 950 (unsafe { std::mem::transmute::<u64, SyscallFunction::<E, *mut u8>>(syscall.function) })( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= note: source type: `u64` (64 bits)
= note: target type: `for<'r, 's, 't0> fn(*mut u8, u64, u64, u64, u64, u64, &'r MemoryMapping<'s>, &'t0 mut std::result::Result<u64, EbpfError<E>>)` (32 bits)

error: aborting due to previous error

For more information about this error, try rustc --explain E0512. error: could not compile solana_rbpf

To learn more, run the command again with --verbose. warning: build failed, waiting for other jobs to finish... Building [===================> ] 660/812: zstd-sys(build), librocks...

Rustup should be up-to-date... rustup update info: syncing channel updates for 'stable-armv7-unknown-linux-gnueabihf' info: checking for self-updates

stable-armv7-unknown-linux-gnueabihf unchanged - rustc 1.55.0 (c8dfcfe04 2021-09-06)

info: cleaning up downloads & tmp directories

Do you have any idea how to fix it. Thanks for your answer, Peter

mrki0620 commented 3 years ago

Hi to All. I unistalled the Rust and reinstalled it and checkt-out the master branch and executed cargo build as proposed in installer notes but still:

error[E0512]: cannot transmute between types of different sizes, or dependently-sized types --> /home/mrkipi/.cargo/registry/src/github.com-1285ae84e5963aae/solana_rbpf-0.2.14/src/vm.rs:967:35 967 (unsafe { std::mem::transmute::<u64, SyscallFunction::<E, *mut u8>>(syscall.function) })( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= note: source type: `u64` (64 bits)
= note: target type: `for<'r, 's, 't0> fn(*mut u8, u64, u64, u64, u64, u64, &'r MemoryMapping<'s>, &'t0 mut std::result::Result<u64, EbpfError<E>>)` (32 bits)

Compiling sct v0.6.0 For more information about this error, try rustc --explain E0512. Compiling tokio-tcp v0.1.4 error: could not compile solana_rbpf due to previous error warning: build failed, waiting for other jobs to finish... error: build failed

I just can't get arround this error... Maybe somebody else can try it out. Kind regards, Peter

steviez commented 3 years ago

@mrki0620 - It looks like you missed a response in the other issue:

It looks like you're building for a 32bit target. Only 64bit targets are supported. There will be several incompatibilities of this sort encountered should you proceed.

mrki0620 commented 2 years ago

@steviez , @mvines Due to my mistake of installing solana on my armv8 32-bit distribution I changed now the OS to 64-bit ubuntu LTS 20.4. Installing above additional libraries the build from source as suggested from https://docs.solana.com/cli/install-solana-cli-tools#build-from-source works like a charm, but I have some troubles with the below command of initializing the installation: ubuntu@ubuntu:~/solana$ solana-install init Error: "Please specify the release to install for aarch64-unknown-linux-gnu. See --help for more"

But help does not give me much help and I saw somewhere in the documentation, that (at least for MacOS - this is how I understood it) the solana-install init is even not needed. What is the proper way to init, run some examples on my compiled distribution? Thanks for your answer in advance - when I run an example I will also close this issue.

steviez commented 2 years ago

@mrki0620 - I think you should be ok to proceed without running solana-install init when building from source. I'll double check later, but I think this step is outdated for building from source.

the build from source as suggested from ... works like a charm

If the cargo-install-all.sh . step worked and you also updated your $PATH, then you should have the binaries accessible from any directory on your system, and this command would tell you the install directory.

$ which solana-validator

If this is the case and you're good to go, I'd like to close the issue, and direct you to our Discord for any further questions. In general, we're trying to be more deliberate about using Discord for "support issues". Furthermore, there are many more people active on Discord, so you're more likely to get a faster response there.

lewixlabs commented 2 years ago

If you find it usefull, I built Solana Tools on my rasberry pi 4 (arm64) with Ubuntu v21.10 It's a fork of this repository v1.9.5 https://github.com/lewixlabs/solana/releases/tag/v1.9.5

t-nelson commented 2 years ago

Just a note that we CANNOT vouch for third party binaries. Use at your own risk

lewixlabs commented 2 years ago

Yes I agree, If you think violates the rules, I delete my post. I just did it to help community (and to be a part of)

Jobians commented 2 months ago

If you find it usefull, I built Solana Tools on my rasberry pi 4 (arm64) with Ubuntu v21.10 It's a fork of this repository v1.9.5 https://github.com/lewixlabs/solana/releases/tag/v1.9.5

@lewixlabs Bro thanks I successfully installed it on my termux and it working, please can you update it