-
Notifications
You must be signed in to change notification settings - Fork 9
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
support aarch64-linux #45
Comments
I know dmenu-rs does work on Arm64, as I've had it running on a RockPro64. Just compiling as normal on an aarch64 host should work just fine (cargo/clang picks up target automatically). As for cross-compiling, there are at least two places where this needs changed:
|
@benjaminedwardwebb Do you know how cross compilation for rust projects work on other nixos projects? If I have time (it wouldn't be until late Jan) I could work on (1) porting the remaining C to Rust to simplify the build system and (2) use the new libloading crate features to make plugins run through dynamic linking. |
Not yet -- I'm relatively new to NixOS, and even newer to rust -- but I'm trying to figure out what's required. I believe nix has good support for cross-compiling both C/autoconf-style builds as well as rust/cargo-based builds, and I think it should be possible (if a little more complicated than usual) to get it working for a mix of the two. It helps a lot to know that there is nothing about the project itself that blocks it from cross-compiling to an aarch64 system.
By "remaining C" do you just mean
That sounds awesome. FYI, what I added to nixpkgs only includes the default plugins and has this disclaimer about it. I wasn't able to figure out how to integrate nixpkgs' rust tooling with a |
Yes
I'm unsure if this is actually required, as Cargo.lock will get regenerated. Then again, having to call cargo multiple times certainly causes issues. Yet another thing that would be fixed if I went the libloading route. |
I tried building dmenu-rs on my aarch64 linux machine locally (not cross-compiling). I hit a few compiler errors that appear architecture related. They seem caused by the fact that the type of My vague impression is that these issues aren't local to my machine and that they can be fixed by using a type that properly varies by system. However, I'm not sure how to do that for the The errors are attached as log files. Any ideas? I generated I generated Both commands were run on a system with uname -a
so these issues may be related to my nix setup, but my hunch is that they aren't. |
I'd love to be able to use
dmenu-rs
onaarch64-linux
hosts.On the surface this seems doable given that
aarch64-linux
architectures are supported as tier 1 platforms bycargo
. However I'm not sure if there may be some difficulties due to other parts of the build. My extremely naive approach of slapping--target=aarch64-unknown-linux-gnu
after every invocation ofcargo
in themakefile
didn't work. :)I'm filing this issue in case anyone has any tips, ideas, or pointers on how to do this.
The text was updated successfully, but these errors were encountered: