bigtreetech / BIGTREETECH-SKR-V1.3

32bit board with LPC1768, support marlin2.0 and smoothieware, support lcd2004/12864, On-board TMC2130 SPI interface and TMC2208 UART interface no additional wiring is required
1.01k stars 1.15k forks source link

Marlin 2.0 build Fails with problem in duration_t.h #563

Closed fury211gmail closed 2 years ago

fury211gmail commented 2 years ago

Build and get the following error:

[{ "resource": "/c:/Printing/Marlin 2.0/Marlin-2.0.x-SKR-V1.4-Turbo/Marlin/src/libs/duration_t.h", "owner": "cpp", "severity": 4, "message": "'sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=]", "startLineNumber": 130, "startColumn": 35, "endLineNumber": 130, "endColumn": 35 }]

Below is the terminal output:

In file included from Marlin\src\gcode\stats../../inc/../HAL/./LPC1768/../shared/Marduino.h:36, from Marlin\src\gcode\stats../../inc/../HAL/./LPC1768/HAL.h:39, from Marlin\src\gcode\stats../../inc/../HAL/HAL.h:26, from Marlin\src\gcode\stats../../inc/MarlinConfig.h:30, from Marlin\src\gcode\stats../gcode.h:294, from Marlin\src\gcode\stats\M31.cpp:23: Marlin\src\gcode\stats../../module/../libs/duration_t.h: In static member function 'static void GcodeSuite::M31()': Marlin\src\gcode\stats../../module/../libs/duration_t.h:130:35: warning: 'sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=] 130 | if (y) sprintf_P(buffer, PSTR("%iy %id %ih %im %is"), y, d, h, m, s); C:\Users\stephen.platformio\packages\framework-arduino-lpc176x\cores\arduino/Arduino.h:58:18: note: in definition of macro 'PSTR' 58 | #define PSTR(v) (v) | ^ In file included from Marlin\src\gcode\stats../../module/printcounter.h:25, from Marlin\src\gcode\stats\M31.cpp:25: Marlin\src\gcode\stats../../module/../libs/duration_t.h:130:21: note: 'sprintf' output between 15 and 22 bytes into a destination of size 21 130 | if (y) sprintf_P(buffer, PSTR("%iy %id %ih %im %is"), y, d, h, m, s); Compiling .pio\build\LPC1769\src\src\lcd\dogm\status_screen_DOGM.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\dogm\status_screen_lite_ST7920.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\dogm\u8g_dev_ssd1306_sh1106_128x64_I2C.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\dogm\u8g_dev_st7565_64128n_HAL.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\dogm\u8g_dev_st7920_128x64_HAL.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\dogm\u8g_dev_tft_320x240_upscale_from_128x64.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\dogm\u8g_dev_uc1701_mini12864_HAL.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\dogm\u8g_fontutf8.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\dogm\ultralcd_DOGM.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\dogm\ultralcd_st7920_u8glib_rrd_AVR.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\extui\anycubic_chiron_lcd.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\extui\anycubic_i3mega_lcd.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\extui\ui_api.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\fontutils.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\lcdprint.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\menu\menu.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_advanced.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_configuration.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_custom.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_game.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_main.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_media.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_mixer.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_motion.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_temperature.cpp.o Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_tmc.cpp.o In file included from c:\users\stephen.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\c++\10.3.1\functional:56, from c:\users\stephen.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\c++\10.3.1\pstl\glue_algorithm_defs.h:13, from c:\users\stephen.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\c++\10.3.1\algorithm:74, from Marlin\src\lcd../inc/../HAL/./LPC1768/HAL.h:35, from Marlin\src\lcd../inc/../HAL/HAL.h:26, from Marlin\src\lcd../inc/MarlinConfig.h:30, from Marlin\src\lcd\lcdprint.h:35, from Marlin\src\lcd\lcdprint.cpp:31: c:\users\stephen.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\c++\10.3.1\bits\functional_hash.h:168:3: error: redefinition of 'struct std::hash' 168 | _Cxx_hashtable_define_trivial_hash(unsigned long) | ^~~~~~~~~~ c:\users\stephen.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\c++\10.3.1\bits\functional_hash.h:136:3: note: previous definition of 'struct std::hash' 136 | _Cxx_hashtable_define_trivial_hash(wchar_t) | ^~~~~~~~~~ Compiling .pio\build\LPC1769\src\src\lcd\menu\menu_tune.cpp.o *** [.pio\build\LPC1769\src\src\lcd\lcdprint.cpp.o] Error 1

fury211gmail commented 2 years ago

It was big tree tech's marlin 2.0.6. I just reconfigured Vanilla marlin from scratch for it and it compiled. must be something in Platformio's latest build that doesn't play nice with that version.