Following the steps in the "Getting Started" guide on Manjaro 18.1.5, stock bashrc fails to produce working software.
Steps to reproduce:
pacman -Syufails with error :
Making clueboard/66/rev3 with keymap default
avr-gcc (GCC) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Compiling: keyboards/clueboard/66/rev3/rev3.c In file included from ./keyboards/clueboard/66/rev3/config.h:3,
from <command-line>:
quantum/config_common.h:29:18: fatal error: avr/io.h: No such file or directory
# include <avr/io.h>
^~~~~~~~~~
compilation terminated.
[ERRORS]
|
|
|
make[1]: *** [tmk_core/rules.mk:380: .build/obj_clueboard_66_rev3_default/keyboards/clueboard/66/rev3/rev3.o] Error 1
Make finished with errors
make: *** [Makefile:579: clueboard/66/rev3:default] Error 1
I think I had a similar error initially, could you try running it with sudo? If it works with that, you should setup udev rules so you wont have to run it as sudo: https://beta.docs.qmk.fm/faq/faq_build#linux-udev-rules
sudo make clueboard/66/rev3:default produces the same error, unfortunately.
If you run pacman -Qe | grep avr, Do you see
avr-gcc 9.2.0-1
avr-libc 2.0.0-3
avrdude 1:6.3-6
(Versions wont matter as much)
No, it only found avr-gcc. When I individually installed avrdude and avr-libc via pacman that solved the problem. I'm not sure why that is, since I both ran the install script in qmk_firmware/utils and also tried to install the depends in the script manually via pacman, but as a list (sudo pacman -S arm-none-eabi-binutils arm-none-eabi-gcc, etc). If you think this is something that other Arch/Manjaro users might run into let me know and I'll make a PR with a note in the "getting started" section.
Thank you very much for the help.
@ammkrn I'm getting a series of similar errors on arch. I keep trying to install more packages but there are many seemingly related possibilities and I'm flying blind as to which one I might need next. Here's my last error after resolving several relating to arm-none-* and avr*.
make ergodox_infinity:default
QMK Firmware 0.7.106
Making ergodox_infinity with keymap default
arm-none-eabi-gcc (Arch Repository) 9.2.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Compiling: keyboards/ergodox_infinity/matrix.c In file included from keyboards/ergodox_infinity/matrix.c:18:
/usr/lib/gcc/arm-none-eabi/9.2.0/include/stdint.h:9:16: fatal error: stdint.h: No such file or directory
9 | # include_next <stdint.h>
| ^~~~~~~~~~
compilation terminated.
[ERRORS]
|
|
|
make[1]: *** [tmk_core/rules.mk:380: .build/obj_ergodox_infinity_default/matrix.o] Error 1
Make finished with errors
make: *** [Makefile:579: ergodox_infinity:default] Error 1
@focusaurus Do you have these packages:
arm-none-eabi-binutils 2.33.1-1
arm-none-eabi-gcc-8.3.0-1
arm-none-eabi-newlib 3.1.0-2
arm-none-eabi-gcc version 9.2 might not work, you should downgrade to 8.3 or 7.3.
@focusaurus
@CurryFurious to the rescue again. I got a different error when trying to build ergodox-infinity:default (about chibios tripping -Werror by using a deprecated feature) and was able to fix it by pinning avr-none-eabi-gcc to 8.3.0-1. Try :
sudo pacman -U https://archive.archlinux.org/packages/a/arm-none-eabi-gcc/arm-none-eabi-gcc-8.3.0-1-x86_64.pkg.tar.xz
Here's a list of the versions I'm on if you want to check your toolchain against mine.
arm-none-eabi-binutils 2.33.1-1
arm-none-eabi-gcc 8.3.0-1
arm-none-eabi-newlib 3.1.0-2
avrdude 1:6.3-6
avr-binutils 2.33.1-1
avr-libc 2.0.0-3
avr-gcc 8.3.0-1
dfu-programmer 0.7.2-2
dfu-util 0.9-2
I was initially going down the path of trying to install the right arch packages until I discovered/remembered the docker option which is preferable so I bailed and just used docker.
Closing for now. If anyone runs across this after the fact, the fixes (for me) seemed to be :
https://github.com/qmk/qmk_firmware/issues/7738#issuecomment-570011445
and
https://github.com/qmk/qmk_firmware/issues/7738#issuecomment-570445117
Most helpful comment
No, it only found avr-gcc. When I individually installed avrdude and avr-libc via pacman that solved the problem. I'm not sure why that is, since I both ran the install script in qmk_firmware/utils and also tried to install the depends in the script manually via pacman, but as a list (
sudo pacman -S arm-none-eabi-binutils arm-none-eabi-gcc, etc). If you think this is something that other Arch/Manjaro users might run into let me know and I'll make a PR with a note in the "getting started" section.Thank you very much for the help.