Qmk_firmware: "getting started" instructions do not produce working artifact (Linux/Manjaro 18.1.5)

Created on 29 Dec 2019  路  9Comments  路  Source: qmk/qmk_firmware

Following the steps in the "Getting Started" guide on Manjaro 18.1.5, stock bashrc fails to produce working software.

Steps to reproduce:

fails 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
help wanted question

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.

All 9 comments

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

Was this page helpful?
0 / 5 - 0 ratings

Related issues

drashna picture drashna  路  3Comments

matz-e picture matz-e  路  4Comments

jmagee picture jmagee  路  3Comments

gesinger picture gesinger  路  3Comments

fredizzimo picture fredizzimo  路  4Comments