Qmk_firmware: Compile failing due to HIDParser

Created on 8 May 2018  路  7Comments  路  Source: qmk/qmk_firmware

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.

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!

All 7 comments

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!

Was this page helpful?
0 / 5 - 0 ratings