eshkrab / fastLED-idf

FastLED port for esp-idf
29 stars 4 forks source link

Build fails on latest version of esp-idf #2

Open playduck opened 5 years ago

playduck commented 5 years ago

Running make menuconfig and subsequently make on this cloned repository using the latest esp-idf version (commit 39f090a) does not successfully build the project.

The following include headers are deprecated:

However the actual compilation is terminated by numerous counts of the following Error:

In file included from /fastLED-idf/components/FastLED-idf/include/FastLED.h:58,
                 from /fastLED-idf/components/FastLED-idf/FastLED.cpp:2:
/fastLED-idf/components/FastLED-idf/include/colorutils.h: In copy constructor 'CHSVPalette16::CHSVPalette16(const CHSVPalette16&)':
/fastLED-idf/components/FastLED-idf/include/colorutils.h:455:69: error: 'void* memmove(void*, const void*, size_t)' writing to an object of type 'struct CHSV' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Werror=class-memaccess]
         memmove8( &(entries[0]), &(rhs.entries[0]), sizeof( entries));
                                                                     ^
In file included from /fastLED-idf/components/FastLED-idf/include/controller.h:9,
                 from /fastLED-idf/components/FastLED-idf/include/FastLED.h:47,
                 from /fastLED-idf/components/FastLED-idf/FastLED.cpp:2:
/fastLED-idf/components/FastLED-idf/include/pixeltypes.h:23:8: note: 'struct CHSV' declared here
 struct CHSV {
        ^~~~

Removing -Wall and -Werror=all from /esp-idf/make/project.mk at line 370 lets the errors be treated as warnings and thus the compilation succeeds. However doing so isn't really addressing the underlying problem and probably pretty stupid.

grooves38 commented 4 years ago

it worked perfect until last ESP-IDF update, now I get endless bootloop,

I (276) spi_flash: flash io: dio I (276) cpu_start: Starting scheduler on PRO CPU. I (0) cpu_start: Starting scheduler on APP CPU. Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled. Core 0 register dump: PC : 0x400e4671 PS : 0x00060f33 A0 : 0x800d29a2 A1 : 0x3ffb78d0 A2 : 0x00000000 A3 : 0x00000000 A4 : 0x00000020 A5 : 0x3ffb4e50 A6 : 0x3ffb6704 A7 : 0x400d32e8 A8 : 0x00000000 A9 : 0x3ffb78b0 A10 : 0x00000001 A11 : 0x00000000 A12 : 0x00000000 A13 : 0x01100002 A14 : 0x01100002 A15 : 0x00000000 SAR : 0x00000011 EXCCAUSE: 0x0000001c EXCVADDR: 0x00000000 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000

ELF file SHA256: 6b4eb7f7a8ff383df3b9da3d038a92f81f8a3f06358ef56200ec732107fe8574

Backtrace: 0x400e466e:0x3ffb78d0 0x400d299f:0x3ffb7900 0x400d25db:0x3ffb7940 0x400e2dd2:0x3ffb7980 0x400d3347:0x3ffb79b0 0x40087bad:0x3ffb79e0

Rebooting...

latest idf_v4.1-dev-1757-g826b9f6-dirty build

kebner commented 4 years ago

Despite all odds: It's working fine with idf 4.0.1 (the currently latest supported version on PlatformIO). I corrected the memmove warnings by exlicit casts.