You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When there are selected G29_RETRY_AND_RECOVER and LCD_LANGUAGE_2 (or more languages), compilation fails with
Compiling .pio/build/BIGTREE_E3_RRF/src/src/gcode/gcode.cpp.o In file included from Marlin/src/gcode/../inc/../core/language.h:393, from Marlin/src/gcode/../inc/MarlinConfig.h:53, from Marlin/src/gcode/gcode.h:305, from Marlin/src/gcode/gcode.cpp:28: Marlin/src/gcode/gcode.cpp: In static member function 'static void GcodeSuite::event_probe_failure()': Marlin/src/gcode/../inc/../core/multi_language.h:64:5: error: 'ui' was not declared in this scope 64 | ui.language == 0 ? GET_LANG(LCD_LANGUAGE )::MSG : \ | ^~ Marlin/src/gcode/gcode.cpp:237:12: note: in expansion of macro 'GET_TEXT' 237 | kill(GET_TEXT(MSG_LCD_PROBING_FAILED)); | ^~~~~~~~
The problem is in Marlin/src/gcode/gcode.cpp on line 237:
Macro "GET_TEXT" defined in Marlin/src/core/multi_language.h is expanded to a set of ternary operators. Those are containing conditions like ui.language == ... but in the gcode.cpp, there is no #include providing variable ui and compilation fails.
If you replace the GET_TEXT macro in gcode.cpp:237 with simple quotation marks (empty string), the compilation starts to work.
Bug Timeline
Don't know
Expected behavior
Successfull compilation with G29_RETRY_AND_RECOVER and LCD_LANGUAGE_[2345] selected simultaneously
Actual behavior
Compilation fails
Steps to Reproduce
Enable auto bed leveling
Set #define G29_RETRY_AND_RECOVER in Configuration_adv.h
Set #define LCD_LANGUAGE_2 cz in Configuration_adv.h
Set platform to one with UI8Glib display
Try to compile
Version of Marlin Firmware
2.0.x bugfix
Printer model
Ender 3 Pro
Electronics
BTT E3 RRF
Add-ons
No response
Your Slicer
No response
Host Software
No response
Additional information & file uploads
No response
The text was updated successfully, but these errors were encountered:
Did you test the latest
bugfix-2.0.x
code?Yes, and the problem still exists.
Bug Description
When there are selected G29_RETRY_AND_RECOVER and LCD_LANGUAGE_2 (or more languages), compilation fails with
Compiling .pio/build/BIGTREE_E3_RRF/src/src/gcode/gcode.cpp.o In file included from Marlin/src/gcode/../inc/../core/language.h:393, from Marlin/src/gcode/../inc/MarlinConfig.h:53, from Marlin/src/gcode/gcode.h:305, from Marlin/src/gcode/gcode.cpp:28: Marlin/src/gcode/gcode.cpp: In static member function 'static void GcodeSuite::event_probe_failure()': Marlin/src/gcode/../inc/../core/multi_language.h:64:5: error: 'ui' was not declared in this scope 64 | ui.language == 0 ? GET_LANG(LCD_LANGUAGE )::MSG : \ | ^~ Marlin/src/gcode/gcode.cpp:237:12: note: in expansion of macro 'GET_TEXT' 237 | kill(GET_TEXT(MSG_LCD_PROBING_FAILED)); | ^~~~~~~~
The problem is in
Marlin/src/gcode/gcode.cpp
on line 237:Macro "GET_TEXT" defined in Marlin/src/core/multi_language.h is expanded to a set of ternary operators. Those are containing conditions like
ui.language == ...
but in the gcode.cpp, there is no #include providing variableui
and compilation fails.If you replace the GET_TEXT macro in gcode.cpp:237 with simple quotation marks (empty string), the compilation starts to work.
Bug Timeline
Don't know
Expected behavior
Successfull compilation with G29_RETRY_AND_RECOVER and LCD_LANGUAGE_[2345] selected simultaneously
Actual behavior
Compilation fails
Steps to Reproduce
#define G29_RETRY_AND_RECOVER
in Configuration_adv.h#define LCD_LANGUAGE_2 cz
in Configuration_adv.hVersion of Marlin Firmware
2.0.x bugfix
Printer model
Ender 3 Pro
Electronics
BTT E3 RRF
Add-ons
No response
Your Slicer
No response
Host Software
No response
Additional information & file uploads
No response
The text was updated successfully, but these errors were encountered: