Marlin Firmware / u8glib error

Hello dear friends,

I want to share my problem. I'm trying to upload latest Marlin (2.0.9) version to my 3D printer. But I have a problem.

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h: In member function 'void U8GLIB_SSD1309_128X64_HAL::init(pin_t, pin_t, pin_t)':
C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h:134:13: error: 'init' is not a member of 'U8GLIB'
U8GLIB::init(&u8g_dev_ssd1309_hw_spi, (uint8_t)cs, (uint8_t)a0, (uint8_t)reset);
^~~~
exit status 1
Arduino Mega or Mega 2560 kartı için derleme hatası.

Anybody face with that problem before? How to beat it?

Did you install the u8glib via the library manager? The U8GLIB is not one of the standard libraries of the IDE and therefore has to be installed additionally so that it is available. only then can marlin auxh find the functions it needs for the graphic display.

Yes. I already dowload u8glib by olikraus.

and installed correctly with the library manager?
If so, you have to show us all of the error messages so that we can better see where the problem is.

Arduino:1.8.16 (Windows 10), Kart:"Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

In file included from C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\marlinui_DOGM.h:31:0,

             from C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\marlinui.cpp:126:

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h: In member function 'void U8GLIB_64128N_2X_HAL::init(pin_t, pin_t, pin_t, pin_t, pin_t)':

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h:37:13: error: 'init' is not a member of 'U8GLIB'

 U8GLIB::init(&u8g_dev_st7565_64128n_HAL_2x_sw_spi, (uint8_t)sck, (uint8_t)mosi, (uint8_t)cs, (uint8_t)a0, (uint8_t)reset);

         ^~~~

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h: In member function 'void U8GLIB_64128N_2X_HAL::init(pin_t, pin_t, pin_t)':

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h:40:13: error: 'init' is not a member of 'U8GLIB'

 U8GLIB::init(&u8g_dev_st7565_64128n_HAL_2x_hw_spi, (uint8_t)cs, (uint8_t)a0, (uint8_t)reset);

         ^~~~

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h: In member function 'void U8GLIB_ST7920_128X64_4X_HAL::init(pin_t, pin_t, pin_t, pin_t)':

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h:53:13: error: 'init' is not a member of 'U8GLIB'

 U8GLIB::init(&u8g_dev_st7920_128x64_HAL_4x_sw_spi, (uint8_t)sck, (uint8_t)mosi, (uint8_t)cs, U8G_PIN_NONE, (uint8_t)reset); // a0 = U8G_PIN_NONE

         ^~~~

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h: In member function 'void U8GLIB_ST7920_128X64_4X_HAL::init(pin_t, pin_t)':

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h:56:13: error: 'init' is not a member of 'U8GLIB'

 U8GLIB::init(&u8g_dev_st7920_128x64_HAL_4x_hw_spi, (uint8_t)cs, U8G_PIN_NONE, (uint8_t)reset); // a0 = U8G_PIN_NONE

         ^~~~

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h: In member function 'void U8GLIB_ST7920_128X64_RRD::init(pin_t, pin_t, pin_t, pin_t)':

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h:71:13: error: 'init' is not a member of 'U8GLIB'

 U8GLIB::init(&u8g_dev_st7920_128x64_rrd_sw_spi, (uint8_t)sck, (uint8_t)mosi, (uint8_t)cs, U8G_PIN_NONE, (uint8_t)reset);   // a0 = U8G_PIN_NONE

         ^~~~

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h: In member function 'void U8GLIB_SH1106_128X64_2X_I2C_2_WIRE::init(uint8_t)':

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h:81:59: error: 'init' is not a member of 'U8GLIB'

void init(uint8_t options = U8G_I2C_OPT_NONE) { U8GLIB::init(&u8g_dev_sh1106_128x64_2x_i2c_2_wire, options); }

                                                       ^~~~

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h: In member function 'void U8GLIB_SSD1306_128X64_2X_I2C_2_WIRE::init(uint8_t)':

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h:90:59: error: 'init' is not a member of 'U8GLIB'

void init(uint8_t options = U8G_I2C_OPT_NONE) { U8GLIB::init(&u8g_dev_ssd1306_128x64_2x_i2c_2_wire, options); }

                                                       ^~~~

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h: In member function 'void U8GLIB_TFT_320X240_UPSCALE_FROM_128X64::init(uint8_t, uint8_t, uint8_t)':

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h:103:77: error: 'init' is not a member of 'U8GLIB'

void init(uint8_t cs, uint8_t rs, uint8_t reset = U8G_PIN_NONE) { U8GLIB::init(&u8g_dev_tft_320x240_upscale_from_128x64, cs, rs, reset); }

                                                                         ^~~~

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h: In member function 'void U8GLIB_MINI12864_2X_HAL::init(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t)':

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h:115:13: error: 'init' is not a member of 'U8GLIB'

 U8GLIB::init(&u8g_dev_uc1701_mini12864_HAL_2x_sw_spi, sck, mosi, cs, a0, reset);

         ^~~~

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h: In member function 'void U8GLIB_MINI12864_2X_HAL::init(uint8_t, uint8_t, uint8_t)':

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h:118:13: error: 'init' is not a member of 'U8GLIB'

 U8GLIB::init(&u8g_dev_uc1701_mini12864_HAL_2x_hw_spi, cs, a0, reset);

         ^~~~

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h: In member function 'void U8GLIB_SSD1309_128X64_HAL::init(pin_t, pin_t, pin_t, pin_t, pin_t)':

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h:131:13: error: 'init' is not a member of 'U8GLIB'

 U8GLIB::init(&u8g_dev_ssd1309_sw_spi, (uint8_t)sck, (uint8_t)mosi, (uint8_t)cs, (uint8_t)a0, (uint8_t)reset);

         ^~~~

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h: In member function 'void U8GLIB_SSD1309_128X64_HAL::init(pin_t, pin_t, pin_t)':

C:\Users\Furkan\Desktop\3D\Marlin-2.0.x\Marlin\src\lcd\dogm\HAL_LCD_class_defines.h:134:13: error: 'init' is not a member of 'U8GLIB'

 U8GLIB::init(&u8g_dev_ssd1309_hw_spi, (uint8_t)cs, (uint8_t)a0, (uint8_t)reset);

         ^~~~

exit status 1

Arduino Mega or Mega 2560 kartı için derleme hatası.

Adsız

These are the libraries which I use

Marlin should be using its own modified version of U8glib, you might want to remove the default U8glib in case the compiler is choosing the wrong library. I don't have any problem compiling the latest version of Marlin here, but I'm using linux and the problem may be specific to Windows, or there could be something specific about the Marlin configuration files that you are using.

it looks a little different with my installation:
C: \ Users \ desit \ Documents \ Arduino \ libraries \ U8glib \ src
folder clib
file U8glib.cpp
file U8glib.h

there are a lot of files in the clib folder with the ending .c
which contain all possible display definitions
i use Windows 10.

Trying a different display configure for Marlin, I do find that I need the Marlin specific U8glib found at https://github.com/MarlinFirmware/U8glib-HAL in order to compile, is that what you have install in the U8glib-HAL folder?

I install both of them. (u8glib and u8glib-HAL)
When I use only u8glib-HAL, says me u8glib library has not found. So I try to compile program with that two library.

C:\Users\Furkan\Documents\Arduino\libraries\U8glib\src
Same with mine.
But marlin program folder is not in the arduino documents. It is in my desktop.

I do not have any problem compiling without the U8glib being installed, where did you download the U8glib-HAL library?

On Arduino Library Browser

Both versions in the library browser, as well as the direct download from github, work here, so I am unable to reproduce the problem, but the error may be specific to something in your Marlin configuration files. A google search shows several instances of this particular problem, but I don't see any specific solutions.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.