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

build fails on aarch64 due to outdated nix crate #145

Open
craftyguy opened this issue Aug 15, 2024 · 2 comments
Open

build fails on aarch64 due to outdated nix crate #145

craftyguy opened this issue Aug 15, 2024 · 2 comments

Comments

@craftyguy
Copy link
Contributor

When attempting to build display-switch on aarch64, nix-0.10.0 fails to compile (see nix-rust/nix#951):

   Compiling nix v0.10.0
error[E0425]: cannot find value `MAP_32BIT` in crate `libc`
  --> /home/clayton/.cargo/registry/src/index.crates.io-6f17d22bba15001f/nix-0.10.0/src/sys/mman.rs:49:9
   |
49 |         MAP_32BIT;
   |         ^^^^^^^^^ not found in `libc`

Looks like uinput depends on an old version of nix (0.10), that is missing this patch: nix-rust/nix@7f0fb19 It also looks like the uinput crate hasn't seen updates in years (there's an open MR to use a later nix version...)

@craftyguy
Copy link
Contributor Author

@haimgel hey just curious if you have any ideas for how to proceed here... I've been trying to package the latest version of display-switch in Alpine but haven't been able to build it because of this failure :(

https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/70584

@haimgel
Copy link
Owner

haimgel commented Nov 2, 2024

Well, this sucks! There's no way today in Rust to force-update a transitive dependency from the same source, so I cannot upgrade nix for uinput.

The only way I can think this can be addressed today is to replace uinput (which is only used to wake up displays on Linux) with more up-to-date. However, musl-based systems are not on top of my priorities because they are not widely used as desktop systems, so I won't be able to look into this in a short or medium term.

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

No branches or pull requests

2 participants