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

[Bug] "make crkbd:default" fails with "eeprom_write_qword" redefined error #23886

Closed
2 tasks
devon-g opened this issue Jun 9, 2024 · 1 comment · Fixed by #23890
Closed
2 tasks

[Bug] "make crkbd:default" fails with "eeprom_write_qword" redefined error #23886

devon-g opened this issue Jun 9, 2024 · 1 comment · Fixed by #23890

Comments

@devon-g
Copy link

devon-g commented Jun 9, 2024

Describe the Bug

QMK’s headers aren’t compatible with newer avr-libc due to mismatching qword api defs — https://github.com/avrdudes/avr-libc/blob/main/include/avr/eeprom.h

avr-gcc (GCC) 14.1.0
Copyright (C) 2024 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/crkbd/crkbd.c                                                                 In file included from quantum/eeconfig.h:23,
                 from quantum/rgblight/rgblight.h:171,
                 from quantum/quantum.h:32,
                 from keyboards/crkbd/crkbd.c:19:
platforms/eeprom.h:25:20: error: static declaration of 'eeprom_write_qword' follows non-static declaration
   25 | static inline void eeprom_write_qword(uint64_t *__p, uint64_t __value) {
      |                    ^~~~~~~~~~~~~~~~~~
In file included from platforms/eeprom.h:6:
/usr/avr/include/avr/eeprom.h:211:6: note: previous declaration of 'eeprom_write_qword' with type 'void(uint64_t *, uint64_t)' {aka 'void(long long unsigned int *, long long unsigned int)'}
  211 | void eeprom_write_qword (uint64_t *__p, uint64_t __value);
      |      ^~~~~~~~~~~~~~~~~~
 [ERRORS]
 |
 |
 |
make: *** [builddefs/common_rules.mk:373: .build/obj_crkbd_rev1_default/keyboards/crkbd/crkbd.o] Error 1

Keyboard Used

crkbd/rev1

Link to product page (if applicable)

No response

Operating System

Arch Linux

qmk doctor Output

Ψ QMK Doctor is checking your environment.
Ψ CLI version: 1.1.5
Ψ QMK home: /home/devon/repos/qmk_firmware
Ψ Detected Linux (Arch Linux).
Ψ Userspace enabled: False
Ψ Git branch: master
Ψ Repo version: 0.25.7
⚠ The official repository does not seem to be configured as git remote "upstream".
Ψ All dependencies are installed.
Ψ Found arm-none-eabi-gcc version 14.1.0
Ψ Found avr-gcc version 14.1.0
⚠ We do not recommend avr-gcc newer than 8. Downgrading to 8.x is recommended.
Ψ Found avrdude version 7.3
Ψ Found dfu-programmer version 1.1.0
Ψ Found dfu-util version 0.11
Ψ Submodules are up to date.
Ψ Submodule status:
Ψ - lib/chibios: 2024-02-17 19:20:06 +0000 --  (be44b3305)
Ψ - lib/chibios-contrib: 2024-04-03 20:39:24 +0800 --  (77cb0a4f)
Ψ - lib/googletest: 2021-06-11 06:37:43 -0700 --  (e2239ee6)
Ψ - lib/lufa: 2022-08-26 12:09:55 +1000 --  (549b97320)
Ψ - lib/vusb: 2022-06-13 09:18:17 +1000 --  (819dbc1)
Ψ - lib/printf: 2022-06-29 23:59:58 +0300 --  (c2e3b4e)
Ψ - lib/pico-sdk: 2023-02-12 20:19:37 +0100 --  (a3398d8)
Ψ - lib/lvgl: 2022-04-11 04:44:53 -0600 --  (e19410f8)
Ψ QMK is ready to go, but minor problems were found

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

No response

@Feko
Copy link

Feko commented Jun 9, 2024

Same here, on CachyOS (Arch based). Packages up-to-date, installed QMK using pip.
Happening even when trying qmk compile -kb clueboard/66/rev3 -km default as described in the docs.

Edit: Managed to make it compile by removing the function defined here. Seems like it was conflicting with one provided in /usr/avr/include/avr/eeprom.h

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

Successfully merging a pull request may close this issue.

2 participants