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
ARM support #485
Comments
We're planning on making some of the plugins that use platform-specific code optional. For now, you can comment out the |
Hi and thanks for reply! I have removed Also, I can only get so far with debug builds. If I attempt I will try to investigate further. |
@vctibor - you may also need to remove the dependency on |
If I find the time, I might look into this as well, since I am also interested in stuff working on the Rpi. |
Now it fails on compilation of |
I have built CompileTo compile on ARM arch, you need clone my fork of the repository and compile Run commands step by step: git clone https://github.com/Fenex/nushell.git # or you can add new remote path to my fork inside your local repo (see `git remote --help`)
cd nushell
git checkout arm
cargo build If you use a device with 1GB RAM or less (e.g. Raspberry Pi 3b+ and older), you can need run compiling with single thread only: cargo build --jobs=1 And yes, full compile taken 50min on my RPi 3b+ 😆 What is the cause of... and where is a PR?A code in this repository compiling on ARM successfully unlike some depending crates. The trouble crates are:
After update So, as you can see, now ❤️ |
This is a fail of rustc, not crates. See issue rust-lang/rust#62896, PR rust-lang/rust#65302. |
@Fenex it seems that Also, as I mentioned already, that does not mean that |
@svartalf
Anyway, your crate is not main problem, at the first we need to wait for a fix in |
https://crates.io/crates/nu/0.7.1 `aarch64-linux` is currently not supported as several crates fail to compile on ARM archs (nushell/nushell#485).
I tried compiling on aarch64 today, and I get this:
I am wondering if a patch to libstd that just makes c_char and i8 on all platforms would fix this. It might break some FFI, but I honestly doubt it. In any case, this is hardly a nushell problem but a problem for the entire rust ecosystem that happened because of bad (IMO) design choices in libstd. |
FWIW disabling the bson and binaryview features makes it work fine without any problems. |
@L-as that's great news! If you want, you could add a PR that lists the supported features for arm support. We do this for default, stable, and are working on a set for wasm. |
@jonathandturner where would I list that? I looked a bit inside the repo but I can't find any such place. |
@L-as here is where the main feature groups start: https://github.com/nushell/nushell/blob/main/Cargo.toml line 65 |
Per NixOS/nixpkgs#97262, this seems to just work now in |
Anecdata: Raspberry Pi 4 Model B Rev 1.4 (4-core 1.5GHz, 8GB RAM)
The install might not have been the fastest, but it works! |
0.26.0 builds and works on my Pi 3B (aarch64) with |
FYI, if anybody needs an ARM64 to test compilation, the AWS m6g.nano is about $0.0057 per hour (a little over half a cent per hour). There is an image for Ubuntu 20.04 that seems to work well. I tried to compile
I didn't send a I tried without the |
It's probably being killed because that aws instance is too micro. It does build on aarch64 successfully (I've built on aws arm instances, packet instances, PBP, etc) |
@colemickens That may be the case. I'll try it with a larger instance later today. |
I had the same issue on a One thing to note is that this is using |
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days. |
|
Possibly related - I saw that gentoo supports ARM64 for nushell: https://packages.gentoo.org/packages/app-shells/nushell |
We can already cross compile nushell for ARM on Void https://voidlinux.org/packages/?arch=aarch64&q=nushell |
@vctibor can you please confirm that the latest released version compiles on your Raspberry Pi, and close this issue? |
I just compiled the latest commit on the main branch on a Raspberry Pi 4 with 4GB of RAM running a recent installation of Raspberry OS (32-bit). I first installed the Ubuntu/Debian dependencies listed in the book.
Apparently, this might be caused by limited memory (I only had 100MB of swap). I reran with |
looks like this is solved. |
* Fix checkout step for feed plugin (nushell#485) * Revert "Fix checkout step for feed plugin (nushell#485)" (nushell#486) This reverts commit b301fd777b9b8351c3bfe5bd2a78ca81db516d28. * added doc for new config file login.nu Co-authored-by: Justin Ma <hustcer@outlook.com>
I tried to build on Raspberry Pi. It fails compiling raw-cpuid. It seems to me this crate is specific for x86 arch.
I wonder if ARM support is planned / possible?
The text was updated successfully, but these errors were encountered: