I'm running Arch Linux and I keep failing to compile the default keymap for ergodox_ez on a fresh clone. It errors at:
lib/lufa/LUFA/Drivers/USB/Class/Common/HIDParser.c:93:5: error: 'memcpy' accessing 42 bytes at offsets 28 and 0 overlaps 14 bytes at offset 28 [-Werror=restrict]
memcpy((CurrStateTable + 1),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
CurrStateTable,
~~~~~~~~~~~~~~~
sizeof(HID_ReportItem_t));
~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
[ERRORS]
|
|
|
make[1]: *** [tmk_core/rules.mk:360: .build/obj_ergodox_ez_default/./lib/lufa/LUFA/Drivers/USB/Class/Common/HIDParser.o] Error 1
Make finished with errors
make: *** [Makefile:549: ergodox_ez:default] Error 1
Would love some help getting this sorted. Here's a list of the dependencies and their versions that I have installed: dependencies.txt
_EDIT_
I tried compiling via Docker and that worked fine. This is, very likely, a problem with qmk_firmware not supporting a newer version of a dependency.
Have exactly the same error. Also on Arch.
Trying to build default for Viterbi. But that's probably irrelevant.
@RomanRiesen Yeah. Like I noted in my _edit_ this is likely due to not supporting a new dependency version. We should revert back to building with Docker until it is fixed.
The docker build solution is actually pretty damn smooth, I must say.
@sQVe I've just installed Debian in a VM and fought it to accept shared folders and it worked without a flaw.
Yeah. The docker way sounds nice.
This looks like a bug in the lufa library. memcpy does not support overlapping regions, so memmove (bad name) should have been used instead.
@fredizzimo #2914 would fix this, correct?
Tried the #2914 patch on ArchLinux with avr-gcc 8.1.0, and worked fine for me. Thanks!
Awesome - that's been merged, so I think we can close this. Please let us know if it doesn't fix it!
Most helpful comment
Awesome - that's been merged, so I think we can close this. Please let us know if it doesn't fix it!