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

avr: use new cross compilation infrastructure #48286

Merged
merged 15 commits into from Oct 30, 2018

Conversation

matthewbauer
Copy link
Member

@matthewbauer matthewbauer commented Oct 12, 2018

Gets rid of:

  • avrbinutils
  • avrgcc

to replace with:

  • pkgsCross.avr.buildPackages.binutils
  • pkgsCross.avr.buildPackages.gcc

@matthewbauer matthewbauer changed the title avr: use new compilation infrastructure avr: use new cross compilation infrastructure Oct 12, 2018
@dtzWill
Copy link
Member

dtzWill commented Oct 13, 2018

👍 ❤️

Copy link
Member

@Ericson2314 Ericson2314 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gorgeous!

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: gcc, stdenv

The following builds were skipped because they don't evaluate on aarch64-linux: avrdudess

Partial log (click to expand)

  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.


/nix/store/klgxdd526njckk7cq8j1pxakb2p6wv70-gcc-wrapper-7.3.0
/nix/store/m6llsl31vkhkhxfy055m44444nz9s9ki-stdenv-linux

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: gcc, stdenv

The following builds were skipped because they don't evaluate on x86_64-linux: avrdudess

Partial log (click to expand)

  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


/nix/store/10yq7kwlvbc6h658izmrlsspry1g9f3c-gcc-wrapper-7.3.0
/nix/store/glnk048cqva0ig8yrjfw140z2r2v18b4-stdenv-linux

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: gcc, stdenv

The following builds were skipped because they don't evaluate on x86_64-darwin: avrdudess

Partial log (click to expand)

  /nix/store/dnyr1mi70mxsyw865b7307544m8szrh0-mpfr-4.0.1
  /nix/store/f31cpaviz7r983b9sdkkm8crmhsmhad6-expand-response-params
  /nix/store/kjk5rnhcnh6r65fmcfyll5wlbfggb3bn-libmpc-1.1.0
copying path '/nix/store/f31cpaviz7r983b9sdkkm8crmhsmhad6-expand-response-params' from 'https://cache.nixos.org'...
copying path '/nix/store/dnyr1mi70mxsyw865b7307544m8szrh0-mpfr-4.0.1' from 'https://cache.nixos.org'...
copying path '/nix/store/kjk5rnhcnh6r65fmcfyll5wlbfggb3bn-libmpc-1.1.0' from 'https://cache.nixos.org'...
copying path '/nix/store/6d95j619zw7n6sbk5dqs36gwrsvif9x0-gcc-7.3.0' from 'https://cache.nixos.org'...
copying path '/nix/store/10n6qiaz1piz0gsh05x5i062cscrwi6f-gcc-wrapper-7.3.0' from 'https://cache.nixos.org'...
/nix/store/10n6qiaz1piz0gsh05x5i062cscrwi6f-gcc-wrapper-7.3.0
/nix/store/7l83571b34mmbr1zkxa596vw2wdqxxnh-stdenv-darwin

@matthewbauer
Copy link
Member Author

@GrahamcOfBorg build pkgsCross.avr.hello

@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: pkgsCross.avr.hello

Partial log (click to expand)

Cannot nix-instantiate `pkgsCross.avr.hello' because:
error: attribute 'avr' in selection path 'pkgsCross.avr.hello' not found

@GrahamcOfBorg
Copy link

No attempt on x86_64-linux (full log)

The following builds were skipped because they don't evaluate on x86_64-linux: pkgsCross.avr.hello

Partial log (click to expand)

Cannot nix-instantiate `pkgsCross.avr.hello' because:
error: attribute 'avr' in selection path 'pkgsCross.avr.hello' not found

@GrahamcOfBorg
Copy link

No attempt on aarch64-linux (full log)

The following builds were skipped because they don't evaluate on aarch64-linux: pkgsCross.avr.hello

Partial log (click to expand)

Cannot nix-instantiate `pkgsCross.avr.hello' because:
error: attribute 'avr' in selection path 'pkgsCross.avr.hello' not found

@matthewbauer
Copy link
Member Author

@GrahamcOfBorg build pkgsCross.arduino-avr.hello

I need to figure out a way that we don't break qmk_firmware, which looks like it uses Nix:

https://github.com/qmk/qmk_firmware

@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: pkgsCross.arduino-avr.hello

Partial log (click to expand)

Cannot nix-instantiate `pkgsCross.arduino-avr.hello' because:
error: attribute 'arduino-avr' in selection path 'pkgsCross.arduino-avr.hello' not found

@GrahamcOfBorg
Copy link

No attempt on aarch64-linux (full log)

The following builds were skipped because they don't evaluate on aarch64-linux: pkgsCross.arduino-avr.hello

Partial log (click to expand)

Cannot nix-instantiate `pkgsCross.arduino-avr.hello' because:
error: attribute 'arduino-avr' in selection path 'pkgsCross.arduino-avr.hello' not found

@matthewbauer
Copy link
Member Author

@GrahamcOfBorg build pkgsCross.arduino-uno.hello

@GrahamcOfBorg
Copy link

No attempt on x86_64-linux (full log)

The following builds were skipped because they don't evaluate on x86_64-linux: pkgsCross.arduino-avr.hello

Partial log (click to expand)

Cannot nix-instantiate `pkgsCross.arduino-avr.hello' because:
error: attribute 'arduino-avr' in selection path 'pkgsCross.arduino-avr.hello' not found

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: pkgsCross.arduino-uno.hello

Partial log (click to expand)

 #include_next <limits.h>  /* recurse down to the real one */
               ^~~~~~~~~~
compilation terminated.
make[2]: *** [Makefile:1658: lib/c-strcasecmp.o] Error 1
make[2]: Leaving directory '/build/hello-2.10'
make[1]: *** [Makefile:1878: all-recursive] Error 1
make[1]: Leaving directory '/build/hello-2.10'
make: *** [Makefile:1413: all] Error 2
builder for '/nix/store/w5bk6jp2fwc8yhz9zzha4k8kv8mj54df-hello-2.10-avr.drv' failed with exit code 2
error: build of '/nix/store/w5bk6jp2fwc8yhz9zzha4k8kv8mj54df-hello-2.10-avr.drv' failed

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: pkgsCross.arduino-uno.hello

Partial log (click to expand)

 #include_next <limits.h>  /* recurse down to the real one */
               ^~~~~~~~~~
compilation terminated.
make[2]: *** [Makefile:1658: lib/c-strcasecmp.o] Error 1
make[2]: Leaving directory '/private/tmp/nix-build-hello-2.10-avr.drv-0/hello-2.10'
make[1]: *** [Makefile:1878: all-recursive] Error 1
make[1]: Leaving directory '/private/tmp/nix-build-hello-2.10-avr.drv-0/hello-2.10'
make: *** [Makefile:1413: all] Error 2
builder for '/nix/store/kvl688caam66mqxpq5whqbdwxmckg8qi-hello-2.10-avr.drv' failed with exit code 2
error: build of '/nix/store/kvl688caam66mqxpq5whqbdwxmckg8qi-hello-2.10-avr.drv' failed

@GrahamcOfBorg
Copy link

Failure on x86_64-linux (full log)

Attempted: pkgsCross.arduino-uno.hello

Partial log (click to expand)

 #include_next <limits.h>  /* recurse down to the real one */
               ^~~~~~~~~~
compilation terminated.
make[2]: *** [Makefile:1658: lib/c-strcasecmp.o] Error 1
make[2]: Leaving directory '/build/hello-2.10'
make[1]: *** [Makefile:1878: all-recursive] Error 1
make[1]: Leaving directory '/build/hello-2.10'
make: *** [Makefile:1413: all] Error 2
builder for '/nix/store/674083hq20pvkiz97c5a0yc5hnlq5hv7-hello-2.10-avr.drv' failed with exit code 2
error: build of '/nix/store/674083hq20pvkiz97c5a0yc5hnlq5hv7-hello-2.10-avr.drv' failed

@Ericson2314
Copy link
Member

Oh I recall our GCC derivation doing something funny with limits.h

@matthewbauer
Copy link
Member Author

@Ericson2314 It looks like it's coming from this line:

https://github.com/nixos/nixpkgs/blob/master/pkgs/development/compilers/gcc/builder.sh#L142

We've always assumed we had limits.h, but that's not always the case. Maybe remove that line from the builder? (later on of course, trying to avoid mass rebuilds here)

@matthewbauer
Copy link
Member Author

That is we overwrite the builtin LIMITS_H_TEST with that flag, causing it to always be true:

https://github.com/gcc-mirror/gcc/blob/master/gcc/Makefile.in#L535

But it looks like we can't avoid the mass rebuild unfortunately!

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: gcc, stdenv

The following builds were skipped because they don't evaluate on x86_64-darwin: avrdudess

Partial log (click to expand)


these paths will be fetched (37.20 MiB download, 155.10 MiB unpacked):
  /nix/store/10n6qiaz1piz0gsh05x5i062cscrwi6f-gcc-wrapper-7.3.0
  /nix/store/6d95j619zw7n6sbk5dqs36gwrsvif9x0-gcc-7.3.0
  /nix/store/alrfpp3mnyr5lycdh1xi36mhpclnkv0l-gcc-7.3.0-lib
copying path '/nix/store/alrfpp3mnyr5lycdh1xi36mhpclnkv0l-gcc-7.3.0-lib' from 'https://cache.nixos.org'...
copying path '/nix/store/6d95j619zw7n6sbk5dqs36gwrsvif9x0-gcc-7.3.0' from 'https://cache.nixos.org'...
copying path '/nix/store/10n6qiaz1piz0gsh05x5i062cscrwi6f-gcc-wrapper-7.3.0' from 'https://cache.nixos.org'...
/nix/store/10n6qiaz1piz0gsh05x5i062cscrwi6f-gcc-wrapper-7.3.0
/nix/store/7l83571b34mmbr1zkxa596vw2wdqxxnh-stdenv-darwin

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: gcc, stdenv

The following builds were skipped because they don't evaluate on aarch64-linux: avrdudess

Partial log (click to expand)

  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.


/nix/store/klgxdd526njckk7cq8j1pxakb2p6wv70-gcc-wrapper-7.3.0
/nix/store/m6llsl31vkhkhxfy055m44444nz9s9ki-stdenv-linux

These two are unmaintained, no reason to keep them when they are
out-of-date
@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: axoloti, dfu-programmer, gcc, newlib, qmk_firmware, teensy-loader-cli

Partial log (click to expand)

Making zeal60 with keymap default                                                                      [OK]
Making zeal65 with keymap default                                                                      [OK]
Making zen/rev1 with keymap default                                                                    [OK]
Making zen/rev1 with keymap default                                                                    [OK]
Making zlant with keymap default                                                                       [OK]
make: *** [Makefile:544: all:default] Error 1
Make finished with errors

builder for '/nix/store/wy6nxg0j9lhq64b8ad6nsaz8a1llml63-qmk_firmware-0.6.144.drv' failed with exit code 2
error: build of '/nix/store/nwmnccq9dpdgy6qdw6l5j85124zl131p-axoloti-1.0.12-2.drv', '/nix/store/wy6nxg0j9lhq64b8ad6nsaz8a1llml63-qmk_firmware-0.6.144.drv' failed

These packages should in theory work with our GCC toolchains, but
there are some definite breakages that need to be tracked down.
Comparing output of these to old gcc-arm-embedded is important.

Affected packages include:

- axolooti
- avrdudess
- opentx
- microscheme
- betaflight
- inav
- blackmagic
- simavr
- gnuk
replace with:

- pkgsCross.arm-embedded.buildPackages.gcc
- pkgsCross.arm-embedded.buildPackages.binutils
mentorToolchains.armLinuxGnuEabi is replaced with:

- pkgsCross.pogoplug4.buildPackages.gcc
- pkgsCross.pogoplug4.buildPackages.binutils

and mentorToolchains.armEabi is replaced with:

- pkgsCross.arm-embedded.buildPackages.gcc
- pkgsCross.arm-embedded.buildPackages.binutils

Fixes NixOS#39087
A convenient way to test embedded projects
@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: dfu-programmer, gcc, newlib, qmk_firmware, teensy-loader-cli

The following builds were skipped because they don't evaluate on aarch64-linux: axoloti

Partial log (click to expand)

Making z150_blackheart with keymap default                                                             [OK]
Making zeal60 with keymap default                                                                      [OK]
Making zeal65 with keymap default                                                                      [OK]
Making zen/rev1 with keymap default                                                                    [OK]
Making zen/rev1 with keymap default                                                                    [OK]
Making zlant with keymap default                                                                       [OK]
Make finished with errors
make: *** [Makefile:544: all:default] Error 1
builder for '/nix/store/9mmwbcrfr0yk02097ymc60ag4smk4h22-qmk_firmware-0.6.144.drv' failed with exit code 2
error: build of '/nix/store/9mmwbcrfr0yk02097ymc60ag4smk4h22-qmk_firmware-0.6.144.drv' failed

@matthewbauer
Copy link
Member Author

Merging this now. Apologies if this breaks anything. I will be available to fix any potential breakages this weekend. Please report any issues as the appear!

@matthewbauer matthewbauer merged commit a6fa5bd into NixOS:master Oct 30, 2018
@GrahamcOfBorg
Copy link

Failure on x86_64-linux (full log)

Attempted: axoloti, dfu-programmer, gcc, newlib, qmk_firmware, teensy-loader-cli

Partial log (click to expand)

Making z150_blackheart with keymap default                                                             [OK]
Making zeal60 with keymap default                                                                      [OK]
Making zeal65 with keymap default                                                                      [OK]
Making zen/rev1 with keymap default                                                                    [OK]
Making zen/rev1 with keymap default                                                                    [OK]
Making zlant with keymap default                                                                       [OK]
Make finished with errors
make: *** [Makefile:544: all:default] Error 1
builder for '/nix/store/n0jxmmxhdxzdbr8sxilmkrki5pb9yjbn-qmk_firmware-0.6.144.drv' failed with exit code 2
error: build of '/nix/store/bp1lnx8mwhbn1gs6dzp2vl3y5qw8psbb-axoloti-1.0.12-2.drv', '/nix/store/n0jxmmxhdxzdbr8sxilmkrki5pb9yjbn-qmk_firmware-0.6.144.drv' failed

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: dfu-programmer, gcc, newlib, qmk_firmware, teensy-loader-cli

The following builds were skipped because they don't evaluate on aarch64-linux: axoloti

Partial log (click to expand)

Making z150_blackheart with keymap default                                                             [OK]
Making zeal60 with keymap default                                                                      [OK]
Making zeal65 with keymap default                                                                      [OK]
Making zen/rev1 with keymap default                                                                    [OK]
Making zen/rev1 with keymap default                                                                    [OK]
Making zlant with keymap default                                                                       [OK]
Make finished with errors
make: *** [Makefile:544: all:default] Error 1
builder for '/nix/store/9mmwbcrfr0yk02097ymc60ag4smk4h22-qmk_firmware-0.6.144.drv' failed with exit code 2
error: build of '/nix/store/9mmwbcrfr0yk02097ymc60ag4smk4h22-qmk_firmware-0.6.144.drv' failed

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: axoloti, dfu-programmer, gcc, newlib, qmk_firmware, teensy-loader-cli

Partial log (click to expand)

Making zeal60 with keymap default                                                                      [OK]
Making zeal65 with keymap default                                                                      [OK]
Making zen/rev1 with keymap default                                                                    [OK]
Making zen/rev1 with keymap default                                                                    [OK]
Making zlant with keymap default                                                                       [OK]
make: *** [Makefile:544: all:default] Error 1
Make finished with errors

builder for '/nix/store/wy6nxg0j9lhq64b8ad6nsaz8a1llml63-qmk_firmware-0.6.144.drv' failed with exit code 2
error: build of '/nix/store/nwmnccq9dpdgy6qdw6l5j85124zl131p-axoloti-1.0.12-2.drv', '/nix/store/wy6nxg0j9lhq64b8ad6nsaz8a1llml63-qmk_firmware-0.6.144.drv' failed

@GrahamcOfBorg
Copy link

Timed out, unknown build status on x86_64-linux (full log)

Attempted: axoloti, dfu-programmer, gcc, newlib, qmk_firmware, teensy-loader-cli

Partial log (click to expand)

/nix/store/1v2gny7fnmzn06ixv61hlwazdx4h52sb-arm-none-eabi-stage-final-gcc-debug-wrapper-7.3.0/bin/arm-none-eabi-g++ -c -mcpu=cortex-m4 -O2 -ggdb -fomit-frame-pointer -falign-functions=16 -fno-math-errno -Wno-unused-parameter -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant -fno-rtti -Wall -Wextra -Wa,-alms=build/lst/svf.lst  -DCORTEX_USE_FPU=TRUE -DARM_MATH_CM4 -D__FPU_PRESENT -DTHUMB_PRESENT -mno-thumb-interwork -DTHUMB_NO_INTERWORKING -MD -MP -MF .dep/svf.o.d -mthumb -DTHUMB -I. -I/build/source/platform_linux/../CMSIS//Include -I/build/source/platform_linux/../CMSIS//DSP_Lib/Include -I/build/source/platform_linux/../chibios/os/ports/common/ARMCMx/CMSIS/include -I/build/source/platform_linux/../chibios/os/ports/common/ARMCMx -I/build/source/platform_linux/../chibios/os/ports/GCC/ARMCMx -I/build/source/platform_linux/../chibios/os/ports/GCC/ARMCMx/STM32F4xx -I/build/source/platform_linux/../chibios/os/kernel/include -I/build/source/platform_linux/../chibios/os/hal/include -I/build/source/platform_linux/../chibios/os/hal/platforms/STM32F4xx -I/build/source/platform_linux/../chibios/os/hal/platforms/STM32 -I/build/source/platform_linux/../chibios/os/hal/platforms/STM32/GPIOv2 -I/build/source/platform_linux/../chibios/os/hal/platforms/STM32/I2Cv1 -I/build/source/platform_linux/../chibios/os/hal/platforms/STM32/OTGv1 -I/build/source/platform_linux/../chibios/os/hal/platforms/STM32/RTCv2 -I/build/source/platform_linux/../chibios/os/hal/platforms/STM32/SPIv1 -I/build/source/platform_linux/../chibios/os/hal/platforms/STM32/TIMv1 -I/build/source/platform_linux/../chibios/os/hal/platforms/STM32/USARTv1 -I. -I/build/source/platform_linux/../chibios/ext/fatfs/src -I/build/source/platform_linux/../chibios/os/various -I./STM32_USB_Host_Library/Core/Inc -I./STM32_USB_Host_Library/Class/HID/Inc -I./STM32F4xx_HAL_Driver/Inc -I./mutable_instruments -I./mutable_instruments/warps -I./mutable_instruments/braids -I./mutable_instruments/rings -I./mutable_instruments/elements -I./mutable_instruments/stmlib ./mutable_instruments/streams/svf.cpp -o build/obj/svf.o

/nix/store/1v2gny7fnmzn06ixv61hlwazdx4h52sb-arm-none-eabi-stage-final-gcc-debug-wrapper-7.3.0/bin/arm-none-eabi-g++ -c -mcpu=cortex-m4 -O2 -ggdb -fomit-frame-pointer -falign-functions=16 -fno-math-errno -Wno-unused-parameter -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant -fno-rtti -Wall -Wextra -Wa,-alms=build/lst/vactrol.lst  -DCORTEX_USE_FPU=TRUE -DARM_MATH_CM4 -D__FPU_PRESENT -DTHUMB_PRESENT -mno-thumb-interwork -DTHUMB_NO_INTERWORKING -MD -MP -MF .dep/vactrol.o.d -mthumb -DTHUMB -I. -I/build/source/platform_linux/../CMSIS//Include -I/build/source/platform_linux/../CMSIS//DSP_Lib/Include -I/build/source/platform_linux/../chibios/os/ports/common/ARMCMx/CMSIS/include -I/build/source/platform_linux/../chibios/os/ports/common/ARMCMx -I/build/source/platform_linux/../chibios/os/ports/GCC/ARMCMx -I/build/source/platform_linux/../chibios/os/ports/GCC/ARMCMx/STM32F4xx -I/build/source/platform_linux/../chibios/os/kernel/include -I/build/source/platform_linux/../chibios/os/hal/include -I/build/source/platform_linux/../chibios/os/hal/platforms/STM32F4xx -I/build/source/platform_linux/../chibios/os/hal/platforms/STM32 -I/build/source/platform_linux/../chibios/os/hal/platforms/STM32/GPIOv2 -I/build/source/platform_linux/../chibios/os/hal/platforms/STM32/I2Cv1 -I/build/source/platform_linux/../chibios/os/hal/platforms/STM32/OTGv1 -I/build/source/platform_linux/../chibios/os/hal/platforms/STM32/RTCv2 -I/build/source/platform_linux/../chibios/os/hal/platforms/STM32/SPIv1 -I/build/source/platform_linux/../chibios/os/hal/platforms/STM32/TIMv1 -I/build/source/platform_linux/../chibios/os/hal/platforms/STM32/USARTv1 -I. -I/build/source/platform_linux/../chibios/ext/fatfs/src -I/build/source/platform_linux/../chibios/os/various -I./STM32_USB_Host_Library/Core/Inc -I./STM32_USB_Host_Library/Class/HID/Inc -I./STM32F4xx_HAL_Driver/Inc -I./mutable_instruments -I./mutable_instruments/warps -I./mutable_instruments/braids -I./mutable_instruments/rings -I./mutable_instruments/elements -I./mutable_instruments/stmlib ./mutable_instruments/streams/vactrol.cpp -o build/obj/vactrol.o

/nix/store/1v2gny7fnmzn06ixv61hlwazdx4h52sb-arm-none-eabi-stage-final-gcc-debug-wrapper-7.3.0/bin/arm-none-eabi-gcc   build/obj/arm_bitreversal2.o  build/obj/crt0.o build/obj/vectors.o build/obj/chcore.o build/obj/chcore_v7m.o build/obj/nvic.o build/obj/chsys.o build/obj/chdebug.o build/obj/chlists.o build/obj/chvt.o build/obj/chschd.o build/obj/chthreads.o build/obj/chdynamic.o build/obj/chregistry.o build/obj/chsem.o build/obj/chmtx.o build/obj/chcond.o build/obj/chevents.o build/obj/chmsg.o build/obj/chmboxes.o build/obj/chqueues.o build/obj/chmemcore.o build/obj/chheap.o build/obj/chmempools.o build/obj/hal.o build/obj/adc.o build/obj/can.o build/obj/ext.o build/obj/gpt.o build/obj/i2c.o build/obj/icu.o build/obj/mac.o build/obj/mmc_spi.o build/obj/mmcsd.o build/obj/pal.o build/obj/pwm.o build/obj/rtc.o build/obj/sdc.o build/obj/serial.o build/obj/serial_usb.o build/obj/spi.o build/obj/tm.o build/obj/uart.o build/obj/usb.o build/obj/stm32_dma.o build/obj/hal_lld.o build/obj/adc_lld.o build/obj/ext_lld_isr.o build/obj/can_lld.o build/obj/ext_lld.o build/obj/mac_lld.o build/obj/sdc_lld.o build/obj/pal_lld.o build/obj/i2c_lld.o build/obj/usb_lld.o build/obj/rtc_lld.o build/obj/spi_lld.o build/obj/gpt_lld.o build/obj/icu_lld.o build/obj/pwm_lld.o build/obj/serial_lld.o build/obj/uart_lld.o build/obj/board.o build/obj/fatfs_diskio.o build/obj/fatfs_syscall.o build/obj/ff.o build/obj/ccsbcs.o build/obj/chprintf.o build/obj/memstreams.o build/obj/axoloti_control.o build/obj/codec.o build/obj/axoloti.o build/obj/axoloti_filters.o build/obj/axoloti_math.o build/obj/axoloti_oscs.o build/obj/axoloti_board.o build/obj/midi.o build/obj/ui.o build/obj/glcdfont.o build/obj/usbcfg.o build/obj/sdcard.o build/obj/pconnection.o build/obj/parameters.o build/obj/main.o build/obj/patch.o build/obj/flash.o build/obj/virtual_control.o build/obj/arm_bitreversal.o build/obj/arm_cfft_f32.o build/obj/arm_cfft_q15.o build/obj/arm_cfft_q31.o build/obj/arm_cfft_radix2_f32.o build/obj/arm_cfft_radix2_init_f32.o build/obj/arm_cfft_radix2_init_q15.o build/obj/arm_cfft_radix2_init_q31.o build/obj/arm_cfft_radix2_q15.o build/obj/arm_cfft_radix2_q31.o build/obj/arm_cfft_radix4_f32.o build/obj/arm_cfft_radix4_init_f32.o build/obj/arm_cfft_radix4_init_q15.o build/obj/arm_cfft_radix4_init_q31.o build/obj/arm_cfft_radix4_q15.o build/obj/arm_cfft_radix4_q31.o build/obj/arm_cfft_radix8_f32.o build/obj/arm_rfft_f32.o build/obj/arm_rfft_fast_f32.o build/obj/arm_rfft_fast_init_f32.o build/obj/arm_rfft_init_f32.o build/obj/arm_rfft_init_q15.o build/obj/arm_rfft_init_q31.o build/obj/arm_rfft_q15.o build/obj/arm_rfft_q31.o build/obj/arm_mult_q31.o build/obj/arm_mult_q15.o build/obj/arm_mult_f32.o build/obj/arm_shift_q31.o build/obj/arm_shift_q15.o build/obj/arm_scale_f32.o build/obj/arm_cmplx_mult_cmplx_q31.o build/obj/arm_cmplx_mult_cmplx_f32.o build/obj/arm_cmplx_mag_q31.o build/obj/arm_cmplx_mult_cmplx_q15.o build/obj/arm_cmplx_mag_q15.o build/obj/arm_cos_q31.o build/obj/arm_sin_q31.o build/obj/arm_sqrt_q31.o build/obj/arm_sqrt_q15.o build/obj/arm_fir_init_q31.o build/obj/arm_fir_fast_q31.o build/obj/arm_biquad_cascade_df1_32x64_init_q31.o build/obj/arm_biquad_cascade_df1_32x64_q31.o build/obj/arm_biquad_cascade_df1_fast_q31.o build/obj/arm_biquad_cascade_df1_init_q31.o build/obj/arm_biquad_cascade_df1_q31.o build/obj/arm_fir_interpolate_init_q31.o build/obj/arm_fir_interpolate_q31.o build/obj/arm_fir_decimate_init_q31.o build/obj/arm_fir_decimate_q31.o build/obj/arm_fir_decimate_fast_q31.o build/obj/arm_fir_lattice_init_q31.o build/obj/arm_fir_lattice_q31.o build/obj/arm_iir_lattice_init_q31.o build/obj/arm_iir_lattice_q31.o build/obj/arm_common_tables.o build/obj/arm_const_structs.o build/obj/usbh_core.o build/obj/usbh_ctlreq.o build/obj/usbh_ioreq.o build/obj/usbh_pipes.o build/obj/usbh_hid.o build/obj/usbh_hid_keybd.o build/obj/usbh_hid_mouse.o build/obj/usbh_hid_parser.o build/obj/stm32f4xx_ll_usb.o build/obj/stm32f4xx_hal_gpio.o build/obj/stm32f4xx_hal_cortex.o build/obj/stm32f4xx_hal_hcd.o build/obj/usbh_midi_core.o build/obj/usbh_vendor.o build/obj/usbh_conf.o build/obj/serial_midi.o build/obj/bulk_usb.o build/obj/midi_usb.o build/obj/crc32.o build/obj/exceptions.o build/obj/watchdog.o build/obj/sysmon.o build/obj/axoloti_memory.o  build/obj/units.o build/obj/atan.o build/obj/random.o build/obj/mutable_resources.o build/obj/braids_resources.o build/obj/analog_oscillator.o build/obj/digital_oscillator.o build/obj/macro_oscillator.o build/obj/axoloti_mi.o build/obj/multistage_envelope.o build/obj/ominous_voice.o build/obj/resonator.o build/obj/string.o build/obj/tube.o build/obj/exciter.o build/obj/elements_resources.o build/obj/part.o build/obj/voice.o build/obj/clouds_resources.o build/obj/correlator.o build/obj/mu_law.o build/obj/granular_processor.o build/obj/frame_transformation.o build/obj/phase_vocoder.o build/obj/stft.o build/obj/rings_resources.o build/obj/streams_resources.o build/obj/compressor.o build/obj/envelope.o build/obj/follower.o build/obj/lorenz_generator.o build/obj/processor.o build/obj/svf.o build/obj/vactrol.o -mcpu=cortex-m4 -O2 -ggdb -fomit-frame-pointer -falign-functions=16 -fno-math-errno -Wno-unused-parameter -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant -nostartfiles -L. -Wl,-Map=build/axoloti.map,--cref,--no-warn-mismatch,--library-path=/build/source/platform_linux/../chibios/os/ports/GCC/ARMCMx,--script=STM32F407xG.ld -mno-thumb-interwork -mthumb  -lm  -o build/axoloti.elf
/nix/store/1v2gny7fnmzn06ixv61hlwazdx4h52sb-arm-none-eabi-stage-final-gcc-debug-wrapper-7.3.0/bin/arm-none-eabi-objcopy -O ihex build/axoloti.elf build/axoloti.hex
make: /nix/store/1v2gny7fnmzn06ixv61hlwazdx4h52sb-arm-none-eabi-stage-final-gcc-debug-wrapper-7.3.0/bin/arm-none-eabi-objcopy: Command not found
make: *** [/build/source/platform_linux/../chibios/os/ports/GCC/ARMCMx/rules.mk:216: build/axoloti.hex] Error 127
builder for '/nix/store/bp1lnx8mwhbn1gs6dzp2vl3y5qw8psbb-axoloti-1.0.12-2.drv' failed with exit code 1
error: build of '/nix/store/bp1lnx8mwhbn1gs6dzp2vl3y5qw8psbb-axoloti-1.0.12-2.drv', '/nix/store/n0jxmmxhdxzdbr8sxilmkrki5pb9yjbn-qmk_firmware-0.6.144.drv' failed

@GrahamcOfBorg
Copy link

Timed out, unknown build status on x86_64-darwin (full log)

Attempted: axoloti, dfu-programmer, gcc, newlib, qmk_firmware, teensy-loader-cli

Partial log (click to expand)

 ^~~~~~~~
/nix/store/lxi68avn1z2ihd4xxma4wl7y5ws19sg3-libc++-5.0.2/include/c++/v1/cmath:589:1: error: template with C linkage
 template <class _A1>
 ^~~~~~~~
/nix/store/lxi68avn1z2ihd4xxma4wl7y5ws19sg3-libc++-5.0.2/include/c++/v1/cmath:601:1: error: template with C linkage
 template <class _A1>
 ^~~~~~~~
make: *** [/private/tmp/nix-build-axoloti-1.0.12-2.drv-0/source/platform_linux/../chibios/os/ports/GCC/ARMCMx/rules.mk:163: build/obj/units.o] Error 1
builder for '/nix/store/nwmnccq9dpdgy6qdw6l5j85124zl131p-axoloti-1.0.12-2.drv' failed with exit code 1
error: build of '/nix/store/nwmnccq9dpdgy6qdw6l5j85124zl131p-axoloti-1.0.12-2.drv', '/nix/store/wy6nxg0j9lhq64b8ad6nsaz8a1llml63-qmk_firmware-0.6.144.drv' failed

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: dfu-programmer, gcc, newlib, qmk_firmware, teensy-loader-cli

The following builds were skipped because they don't evaluate on aarch64-linux: axoloti

Partial log (click to expand)

Making z150_blackheart with keymap default                                                             [OK]
Making zeal60 with keymap default                                                                      [OK]
Making zeal65 with keymap default                                                                      [OK]
Making zen/rev1 with keymap default                                                                    [OK]
Making zen/rev1 with keymap default                                                                    [OK]
Making zlant with keymap default                                                                       [OK]
Make finished with errors
make: *** [Makefile:544: all:default] Error 1
builder for '/nix/store/9mmwbcrfr0yk02097ymc60ag4smk4h22-qmk_firmware-0.6.144.drv' failed with exit code 2
error: build of '/nix/store/9mmwbcrfr0yk02097ymc60ag4smk4h22-qmk_firmware-0.6.144.drv' failed

@GrahamcOfBorg
Copy link

Timed out, unknown build status on x86_64-linux (full log)

Attempted: axoloti, dfu-programmer, gcc, newlib, qmk_firmware, teensy-loader-cli

Partial log (click to expand)

/build/build/./gcc/xgcc -B/build/build/./gcc/   -msp8 -O2  -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include   -DDF=SF -Dinhibit_libc -mcall-prologues -Os -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -Dinhibit_libc  -DDF=SF -Dinhibit_libc -mcall-prologues -Os -I. -I. -I../../.././gcc -I../../../../gcc-7.3.0/libgcc -I../../../../gcc-7.3.0/libgcc/. -I../../../../gcc-7.3.0/libgcc/../gcc -I../../../../gcc-7.3.0/libgcc/../include  -DHAVE_CC_TLS -DUSE_EMUTLS -o _satfractTIHQ.o -MT _satfractTIHQ.o -MD -MP -MF _satfractTIHQ.dep -DL_satfract -DFROM_TI -DTO_HQ -c ../../../../gcc-7.3.0/libgcc/fixed-bit.c -fvisibility=hidden -DHIDE_EXPORTS
building of '/nix/store/2c8dkbrx2zdi1gk1cb0wj3jh0jdpz6ms-avr-stage-static-gcc-debug-7.3.0.drv' timed out after 3600 seconds
cannot build derivation '/nix/store/wn03qv0zi813pcx0ppdzrfxlflcql3ff-avr-stage-static-gcc-debug-wrapper-7.3.0.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/qkpr63xyy1gs8hnw0s4znql5sjkcbwcy-stdenv-linux.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/jdd9bl0bg18nd0mvk0gn6mf59m4ch0a3-avr-libc-2.0.0-avr.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/1ca1397x6v5icikbis3ls9fihh9klrg0-avr-binutils-wrapper-2.30.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/54m1674ybfgvjgi7z4b6cdpm93lh3c3n-avr-stage-final-gcc-debug-7.3.0.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/fvhbpf0z7igcls0ca16n19pk0grhl8ad-avr-stage-final-gcc-debug-wrapper-7.3.0.drv': 3 dependencies couldn't be built
cannot build derivation '/nix/store/n0jxmmxhdxzdbr8sxilmkrki5pb9yjbn-qmk_firmware-0.6.144.drv': 2 dependencies couldn't be built
error: build of '/nix/store/bp1lnx8mwhbn1gs6dzp2vl3y5qw8psbb-axoloti-1.0.12-2.drv', '/nix/store/n0jxmmxhdxzdbr8sxilmkrki5pb9yjbn-qmk_firmware-0.6.144.drv' failed

orivej-nixos pushed a commit that referenced this pull request Dec 27, 2018
It checks for "nano" with "if(NOT NANO STREQUAL NO)".

Broken since https://hydra.nixos.org/build/83296608 (#48286).
@matthewbauer matthewbauer deleted the avrgcc branch February 22, 2019 04:23
@zopsicle
Copy link

zopsicle commented Jun 5, 2020

It was difficult for me to figure out how to find avr-gcc after this change, since command-not-found no longer reports which package provides it. Is there anything we can do about that?

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/how-to-build-patched-avr-gcc-with-patched-avr-libc/21468/2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants