Prusa i3 ed errori di compilazione del firmware Marlin

Ciao a tutti... sto provando a compilare questo maledetto firmware, ma...

Prima mi dava un errore, dicendo che non trovava 'utility/u8glib.h' e poi, usando l'ultima libreria u8glib versione 1.18.1 sono riuscito a bypassarlo.... ed ecco che mi si presentano una caterva di errori:

Arduino:1.6.6 (Mac OS X), Scheda:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

In file included from sketch/Marlin.h:16:0,
                 from sketch/temperature.h:24,
                 from sketch/ultralcd.cpp:1:
sketch/ultralcd.cpp: In function 'void lcd_move_menu()':
ultralcd.cpp:714: error: 'MSG_JOG' was not declared in this scope
     MENU_ITEM(submenu, MSG_JOG, lcd_move_jog_menu);
                        ^
sketch/ultralcd.cpp:714:5: note: in expansion of macro 'MENU_ITEM'
     MENU_ITEM(submenu, MSG_JOG, lcd_move_jog_menu);
     ^
sketch/ultralcd.cpp: In function 'void lcd_move_jog_menu()':
ultralcd.cpp:729: error: 'MSG_JOG' was not declared in this scope
     MENU_ITEM(back, MSG_JOG, lcd_move_menu);
                     ^
sketch/ultralcd.cpp:729:5: note: in expansion of macro 'MENU_ITEM'
     MENU_ITEM(back, MSG_JOG, lcd_move_menu);
     ^
sketch/ultralcd.cpp: In function 'void config_lcd_level_bed()':
ultralcd.cpp:758: error: 'lcd' was not declared in this scope
   lcd.clear(); 
   ^
sketch/ultralcd.cpp: In function 'void lcd_level_bed_cooling()':
ultralcd.cpp:769: error: 'lcd' was not declared in this scope
           lcd.setCursor(0, 0);
           ^
In file included from sketch/Marlin.h:16:0,
                 from sketch/temperature.h:24,
                 from sketch/ultralcd.cpp:1:
ultralcd.cpp:770: error: 'MSG_LP_COOL_1' was not declared in this scope
           lcd_printPGM(PSTR(MSG_LP_COOL_1));
                             ^
ultralcd.cpp:772: error: 'MSG_LP_COOL_2' was not declared in this scope
           lcd_printPGM(PSTR(MSG_LP_COOL_2));
                             ^
ultralcd.cpp:778: error: 'MSG_LP_COOL_3' was not declared in this scope
           lcd_printPGM(PSTR(MSG_LP_COOL_3));                  
                             ^
ultralcd.cpp:791: error: 'lcd' was not declared in this scope
    lcd.clear();
    ^
sketch/ultralcd.cpp: In function 'void lcd_level_bed()':
ultralcd.cpp:800: error: 'lcd' was not declared in this scope
        lcd.clear(); 
        ^
In file included from sketch/Marlin.h:16:0,
                 from sketch/temperature.h:24,
                 from sketch/ultralcd.cpp:1:
ultralcd.cpp:806: error: 'MSG_LP_INTRO' was not declared in this scope
           lcd_printPGM(PSTR(MSG_LP_INTRO));
                             ^
ultralcd.cpp:815: error: 'MSG_LP_1' was not declared in this scope
           lcd_printPGM(PSTR(MSG_LP_1));
                             ^
ultralcd.cpp:824: error: 'MSG_LP_2' was not declared in this scope
           lcd_printPGM(PSTR(MSG_LP_2));
                             ^
ultralcd.cpp:833: error: 'MSG_LP_3' was not declared in this scope
           lcd_printPGM(PSTR(MSG_LP_3));
                             ^
ultralcd.cpp:842: error: 'MSG_LP_4' was not declared in this scope
           lcd_printPGM(PSTR(MSG_LP_4));
                             ^
ultralcd.cpp:852: error: 'MSG_LP_5' was not declared in this scope
           lcd_printPGM(PSTR(MSG_LP_5));
                             ^
ultralcd.cpp:862: error: 'MSG_LP_6' was not declared in this scope
           lcd_printPGM(PSTR(MSG_LP_6));         
                             ^
sketch/ultralcd.cpp: In function 'void lcd_control_menu()':
ultralcd.cpp:885: error: 'MSG_FILAMENT' was not declared in this scope
      MENU_ITEM(submenu, MSG_FILAMENT, lcd_filament_menu);     //cambiar filamento
                         ^
sketch/ultralcd.cpp:885:6: note: in expansion of macro 'MENU_ITEM'
      MENU_ITEM(submenu, MSG_FILAMENT, lcd_filament_menu);     //cambiar filamento
      ^
ultralcd.cpp:887: error: 'MSG_LEVEL_PLATE' was not declared in this scope
      MENU_ITEM(function, MSG_LEVEL_PLATE, config_lcd_level_bed);   
                          ^
sketch/ultralcd.cpp:887:6: note: in expansion of macro 'MENU_ITEM'
      MENU_ITEM(function, MSG_LEVEL_PLATE, config_lcd_level_bed);   
      ^
ultralcd.cpp:890: error: 'MSG_PREHEAT' was not declared in this scope
      else                           MENU_ITEM(function, MSG_PREHEAT, lcd_preheat);    
                                                         ^
sketch/ultralcd.cpp:890:37: note: in expansion of macro 'MENU_ITEM'
      else                           MENU_ITEM(function, MSG_PREHEAT, lcd_preheat);    
                                     ^
sketch/ultralcd.cpp: In function 'void lcd_filament_menu()':
ultralcd.cpp:918: error: 'MSG_LOAD' was not declared in this scope
     MENU_ITEM(submenu, MSG_LOAD, lcd_load_material_extrud_1);
                        ^
sketch/ultralcd.cpp:918:5: note: in expansion of macro 'MENU_ITEM'
     MENU_ITEM(submenu, MSG_LOAD, lcd_load_material_extrud_1);
     ^
ultralcd.cpp:919: error: 'MSG_UNLOAD' was not declared in this scope
     MENU_ITEM(submenu, MSG_UNLOAD, lcd_unload_material_extrud_1);
                        ^
sketch/ultralcd.cpp:919:5: note: in expansion of macro 'MENU_ITEM'
     MENU_ITEM(submenu, MSG_UNLOAD, lcd_unload_material_extrud_1);
     ^
sketch/ultralcd.cpp: In function 'void lcd_load_material_extrud_1()':
ultralcd.cpp:939: error: 'MSG_ABORT' was not declared in this scope
     MENU_ITEM(back, MSG_ABORT, lcd_abort_preheating_1);
                     ^
sketch/ultralcd.cpp:939:5: note: in expansion of macro 'MENU_ITEM'
     MENU_ITEM(back, MSG_ABORT, lcd_abort_preheating_1);
     ^
ultralcd.cpp:944: error: 'lcd' was not declared in this scope
     lcd.setCursor(3, 2);
     ^
In file included from sketch/Marlin.h:16:0,
                 from sketch/temperature.h:24,
                 from sketch/ultralcd.cpp:1:
sketch/ultralcd.cpp: In function 'void lcd_insert_and_press_1()':
ultralcd.cpp:963: error: 'MSG_ABORT' was not declared in this scope
     MENU_ITEM(back, MSG_ABORT, lcd_abort_preheating_1);
                     ^
sketch/ultralcd.cpp:963:5: note: in expansion of macro 'MENU_ITEM'
     MENU_ITEM(back, MSG_ABORT, lcd_abort_preheating_1);
     ^
ultralcd.cpp:965: error: 'MSG_PRE_EXTRUD' was not declared in this scope
     MENU_ITEM(gcode, MSG_PRE_EXTRUD, PSTR("M701"));
                      ^
sketch/ultralcd.cpp:965:5: note: in expansion of macro 'MENU_ITEM'
     MENU_ITEM(gcode, MSG_PRE_EXTRUD, PSTR("M701"));
     ^
sketch/ultralcd.cpp: In function 'void lcd_unload_material_extrud_1()':
ultralcd.cpp:985: error: 'MSG_ABORT' was not declared in this scope
     MENU_ITEM(back, MSG_ABORT, lcd_abort_preheating_1);
                     ^
sketch/ultralcd.cpp:985:5: note: in expansion of macro 'MENU_ITEM'
     MENU_ITEM(back, MSG_ABORT, lcd_abort_preheating_1);
     ^
ultralcd.cpp:990: error: 'lcd' was not declared in this scope
     lcd.setCursor(3, 2);
     ^
sketch/ultralcd.cpp: In function 'void lcd_init()':
ultralcd.cpp:1418: error: 'lcd' was not declared in this scope
     lcd.clear();
     ^
In file included from sketch/Marlin.h:16:0,
                 from sketch/temperature.h:24,
                 from sketch/ultralcd.cpp:1:
ultralcd.cpp:1420: error: 'MSG_WELLCOME' was not declared in this scope
     lcd_printPGM(PSTR(MSG_WELLCOME));
                       ^
exit status 1
'MSG_JOG' was not declared in this scope

  Questo report potrebbe essere più ricco di informazioni con
  "Mostra un output dettagliato durante la compilazione"
  abilitato in "File > Impostazioni"

...consigli?

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento se non lo hai già fatto: Regolamento
Qui una serie di link utili, non inerenti al tuo problema:

dokke:
Ciao a tutti... sto provando a compilare questo maledetto firmware, ma...

Sotto windows Marlin si compila senza problemi anche con la 1.6.6 del IDE, gli errori sembrano causati da dipendenze mancanti o una libreria non trovata.