3D printer compile issue

I have some older 3D printer code from here for a Prusa i3 printer.

and a fresh download of 1.8.9
When I compile the Marlin code in the "printer firmware" folder, I get these errors

In file included from sketch\SdBaseFile.cpp:24:0:


SdBaseFile.h:38:8: error: using typedef-name 'fpos_t' after 'struct'


 struct fpos_t {
        ^
In file included from sketch\Marlin.h:10:0,


                 from sketch\SdBaseFile.cpp:21:


c:\users\lenovo\3d objects\arduino 1.8.9\hardware\tools\avr\avr\include\stdio.h:950:33: note: 'fpos_t' has a previous declaration here


 __extension__ typedef long long fpos_t;
                                 ^
sketch\SdBaseFile.cpp: In member function 'void SdBaseFile::getpos(fpos_t*)':


SdBaseFile.cpp:298:8: error: request for member 'position' in '* pos', which is of non-class type 'fpos_t {aka long long int}'


   pos->position = curPosition_;
        ^
SdBaseFile.cpp:299:8: error: request for member 'cluster' in '* pos', which is of non-class type 'fpos_t {aka long long int}'


   pos->cluster = curCluster_;
        ^
sketch\SdBaseFile.cpp: In member function 'void SdBaseFile::setpos(fpos_t*)':


SdBaseFile.cpp:1496:23: error: request for member 'position' in '* pos', which is of non-class type 'fpos_t {aka long long int}'


   curPosition_ = pos->position;
                       ^
SdBaseFile.cpp:1497:22: error: request for member 'cluster' in '* pos', which is of non-class type 'fpos_t {aka long long int}'


   curCluster_ = pos->cluster;
                      ^
sketch\Marlin_main.cpp:2658:36: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]


         LCD_MESSAGEPGM(MACHINE_NAME" "MSG_OFF".");
                                    ^
Multiple libraries were found for "LiquidCrystal.h"
 Used: C:\Users\lenovo\Documents\Arduino\libraries\LiquidCrystal
 Not used: C:\Users\lenovo\3D Objects\Arduino 1.8.9\libraries\LiquidCrystal
In file included from sketch\SdFile.h:27:0,


                 from sketch\cardreader.h:8,


                 from sketch\Marlin_main.cpp:44:


SdBaseFile.h:38:8: error: using typedef-name 'fpos_t' after 'struct'


 struct fpos_t {
        ^
In file included from sketch\Marlin.h:10:0,


                 from sketch\Marlin_main.cpp:30:


c:\users\lenovo\3d objects\arduino 1.8.9\hardware\tools\avr\avr\include\stdio.h:950:33: note: 'fpos_t' has a previous declaration here


 __extension__ typedef long long fpos_t;
                                 ^
sketch\Marlin_main.cpp: In function 'void set_bed_level_equation_lsq(double*)':


sketch\Marlin_main.cpp:989:36: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]


     planeNormal.debug("planeNormal");
                                    ^


exit status 1
In file included from sketch\SdFile.h:27:0,


                 from sketch\cardreader.h:8,


                 from sketch\stepper.cpp:30:


SdBaseFile.h:38:8: error: using typedef-name 'fpos_t' after 'struct'


 struct fpos_t {


        ^


In file included from sketch\Marlin.h:10:0,


                 from sketch\stepper.cpp:24:


c:\users\lenovo\3d objects\arduino 1.8.9\hardware\tools\avr\avr\include\stdio.h:950:33: note: 'fpos_t' has a previous declaration here


 __extension__ typedef long long fpos_t;


                                 ^


In file included from sketch\SdFile.h:27:0,


                 from sketch\cardreader.h:8,


                 from sketch\ultralcd.cpp:6:


SdBaseFile.h:38:8: error: using typedef-name 'fpos_t' after 'struct'


 struct fpos_t {


        ^


In file included from sketch\Marlin.h:10:0,


                 from sketch\temperature.h:24,


                 from sketch\ultralcd.cpp:1:


c:\users\lenovo\3d objects\arduino 1.8.9\hardware\tools\avr\avr\include\stdio.h:950:33: note: 'fpos_t' has a previous declaration here


 __extension__ typedef long long fpos_t;


                                 ^


sketch\ultralcd.cpp: In function 'void _lcd_babystep(int, const char*)':


sketch\ultralcd.cpp:406:59: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]


     if (lcdDrawUpdate) lcd_implementation_drawedit(msg, "");


                                                           ^


In file included from sketch\SdFile.h:27:0,


                 from sketch\SdFile.cpp:23:


SdBaseFile.h:38:8: error: using typedef-name 'fpos_t' after 'struct'


 struct fpos_t {


        ^


In file included from sketch\Marlin.h:10:0,


                 from sketch\SdFile.cpp:20:


c:\users\lenovo\3d objects\arduino 1.8.9\hardware\tools\avr\avr\include\stdio.h:950:33: note: 'fpos_t' has a previous declaration here


 __extension__ typedef long long fpos_t;


                                 ^


sketch\temperature.cpp:565:46: warning: extra tokens at end of #ifdef directive


     #ifdef THERMAL_RUNAWAY_PROTECTION_PERIOD && THERMAL_RUNAWAY_PROTECTION_PERIOD > 0


                                              ^


In file included from sketch\SdFile.h:27:0,


                 from sketch\cardreader.h:8,


                 from sketch\cardreader.cpp:2:


SdBaseFile.h:38:8: error: using typedef-name 'fpos_t' after 'struct'


 struct fpos_t {
        ^
In file included from sketch\Marlin.h:10:0,


                 from sketch\cardreader.cpp:1:


c:\users\lenovo\3d objects\arduino 1.8.9\hardware\tools\avr\avr\include\stdio.h:950:33: note: 'fpos_t' has a previous declaration here


 __extension__ typedef long long fpos_t;
                                 ^
using typedef-name 'fpos_t' after 'struct'

What's needed to fix all that?

Also dealing with some minor misassembly (end stop sensor and/or motor assembly needs reassembly) and seem to have misplaced the Y-motor cable, so need to locate one of those too. But getting code to compile is my bigger concern right now.

This was fixed in Marlin some time ago:

You could update to a recent version of Marlin, or implement that patch on your existing version of Marlin if you don't want to deal with an update.

It sounds like you got a fun new toy!

Okay, finally got the 'latest' version of Marlin, 1.1.9,

and it compiles in IDE 1.8.5 (latest I have on this computer).

1.1.9 Bugfix version compiles ok too.

I think what I had were just some version that was set up for my printer, but not necessarily the latest.

Other odd thing is I can't bootload the combined 2560/Ramps board. Have to use the Upload Using Programmer to get code into the board.

Just got the missing wires delivered, so I guess we can start moving forward again.

A friend with a working printer was telling me about Fusion 360 for designing things, and then Slic3R for slicing and creating the gcode (vs Cura), so we'll be looking at those too. The wires I bought were 4-pin and 6-pin, so I need to splice a pair back to back to get my final axis working.

Wife wants to drop everything and do it - but not until after the Stanley Cup game is over. Go Bruins!