Open SmolPatches opened 12 months ago
error: Package ‘avr-stage-final-gcc-wrapper-8.5.0’ in
/nix/store/0wgcaahfgvf0yr5g65q99qwv6bkxr4xk-nixpkgs/nixpkgs/pkgs/build-support/cc-wrapper/default.nix:657
is not available on the requested hostPlatform:
hostPlatform.config = "aarch64-apple-darwin"
aarch64-apple-darwin ( shown in error above) I have never seen this host platform before, shouldn't this just be aarch64-darwin as well?
This is a target triple machine-vendor-operatingsystem
https://wiki.osdev.org/Target_Triplet
In this case is an ARM64 machine, made by Apple, running Darwin kernel.
In other words, M1 has no support for avr-stage-final-gcc-wrapper-8.5.0 - a GCC "version" that generates code for AVR microcontrollers.
I Googled a bit and found this reddit post from three years ago:
https://www.reddit.com/r/olkb/comments/nh2fk9/guide_installing_qmk_on_m1_macbook/
In other words, it will not work.
QMK broke on x86_64-darwin
due to evaluation error around the end of October seemingly due to a change in GCC https://hydra.nixos.org/job/nixpkgs/trunk/qmk.x86_64-darwin
cc @amjoseph-nixpkgs
This might be the culprit? @reckenrode https://github.com/NixOS/nixpkgs/commit/299c06a0f55e02d41d26035fb0d649ae972bdc37#diff-d1246565164cb461f83e31e05da151af0dc07ee74d45fd2a56d3396739f92ee5R416
@emilytrau I think it needs to check targetPlatform.isDarwin
there and when determining meta.badPlatforms
(instead of hostPlatform.isDarwin
). I have a patch for that, but it’s also failing to build due to the clang 16 update. I’m still working on the patch for that.
QMK broke on
x86_64-darwin
...cc @amjoseph-nixpkgs
Ah, it's been nearly a decade since I was a Darwin user; I'm afraid I'm not too much help with that. Fortunately @reckenrode is.
Regarding AVR, it would be awesome if we had a test that ran some kind of AVR binary in an emulator, just as a smoke check. We're never going to have AVR builders (not sure that's even possible), but at least this way we'd notice when things break.
For STM32 we could get this sort of coverage from the gnuk
package's test suite, which runs an emulator. I've been meaning to implement that.
Regarding AVR, it would be awesome if we had a test that ran some kind of AVR binary in an emulator, just as a smoke check. We're never going to have AVR builders (not sure that's even possible), but at least this way we'd notice when things break.
For STM32 we could get this sort of coverage from the
gnuk
package's test suite, which runs an emulator. I've been meaning to implement that.
qmk has qmk mass-compile
which I believe is to CI test that all keyboard firmware at least builds. I think that could be a good test I can implement.
I remember that not all firmware was buildable - the code is a dump of the current state of a Git repo.
Steps To Reproduce
M1 Mac(aarch64-darwin) Steps to reproduce the behavior:
build qmk on a M1 system
nix-shell -p qmk
Build log
Priorities
Add a :+1: reaction to issues you find important.