Troubles with making FTP server

So i found this Arduino-Ftp-Server/FtpServer at master · gallegojm/Arduino-Ftp-Server · GitHub an decided to give it a try. Im using arduino uno and ethernet shield with wiznet w5100. Currently i am at the second step

  1. To test the access to the SD card is ok :
  • load example libraries/FatFs/examples/FatFsDemo,
  • verify that SD_CS_PIN has the correct value (Chip Select for SD card reader),
  • run

I downloaded, installed FatFs and, the FatFsDemo example aaand i get this error:
I think there is something wrong with the FatFs library.

Arduino: 1.6.12 (Mac OS X), Board: "Arduino/Genuino Uno"

/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino: In function 'void setup()':
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:37:46: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   printError( res, "Unable to mount SD card" );
                                              ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:47:24: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   if( dir.openDir( "/" ))
                        ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:58:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   char * dirName = "/New Directory";
                    ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:65:49: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
     printError( res, "Error creating directory" );
                                                 ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:70:21: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   char * fileName = "/New Directory/A new file.txt";
                     ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:73:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   printError( res, "Error creating file" );
                                          ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:77:65: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   res = file.writeString( "Test d'ecriture dans un fichier\r\n" );
                                                                 ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:79:59: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
     res = file.writeString( "Testing writing to file\r\n" );
                                                           ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:81:69: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
     res = file.writeString( "Prueba de escritura en un archivo\r\n" );
                                                                     ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:85:18: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
     char * ps1 = "Test di scrittura su file\r\n";
                  ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:92:18: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
     char * ps2 = "Testes de gravacao em um arquivo\r\n";
                  ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:97:53: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   printError( ( res >= 0 ), "Error writing to file" );
                                                     ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:109:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   printError( res, "Error closing file" );
                                         ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:112:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   char * newName = "/TEST.TXT";
                    ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:117:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   printError( res, "Error renaming file" );
                                          ^

There is more to that error but the forum doesn't let me post it due to the 9000 characters limitation. I will post it if it's needed.

What ERRORS did you get? None that I can see in what you posted. If the warnings bother you, fix them. Doing so is trivial.

This is the whole output from the compiler:

Arduino: 1.6.12 (Mac OS X), Board: "Arduino/Genuino Uno"

/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino: In function 'void setup()':
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:37:46: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   printError( res, "Unable to mount SD card" );
                                              ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:47:24: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   if( dir.openDir( "/" ))
                        ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:58:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   char * dirName = "/New Directory";
                    ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:65:49: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
     printError( res, "Error creating directory" );
                                                 ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:70:21: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   char * fileName = "/New Directory/A new file.txt";
                     ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:73:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   printError( res, "Error creating file" );
                                          ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:77:65: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   res = file.writeString( "Test d'ecriture dans un fichier\r\n" );
                                                                 ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:79:59: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
     res = file.writeString( "Testing writing to file\r\n" );
                                                           ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:81:69: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
     res = file.writeString( "Prueba de escritura en un archivo\r\n" );
                                                                     ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:85:18: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
     char * ps1 = "Test di scrittura su file\r\n";
                  ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:92:18: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
     char * ps2 = "Testes de gravacao em um arquivo\r\n";
                  ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:97:53: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   printError( ( res >= 0 ), "Error writing to file" );
                                                     ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:109:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   printError( res, "Error closing file" );
                                         ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:112:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   char * newName = "/TEST.TXT";
                    ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:117:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   printError( res, "Error renaming file" );
                                          ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:121:37: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   if( dir.openDir( "/New Directory" ))
                                     ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:125:24: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   if( dir.openDir( "/" ))
                        ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:132:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   printError( res, "Error opening file" );
                                         ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:154:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   printError( res, "Error deleting file" );
                                          ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/examples/FatFsDemo/FatFsDemo.ino:159:47: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   printError( res, "Error deleting directory" );
                                               ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp: In member function 'bool FatFsCard::begin(uint8_t, uint8_t)':
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:137:22: error: no matching function for call to 'SPIClass::begin(uint8_t&)'
   SPI.begin( m_CSPin );
                      ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:137:22: note: candidate is:
In file included from /Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:23:0:
/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/SPI/src/SPI.h:159:15: note: static void SPIClass::begin()
   static void begin();
               ^
/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/SPI/src/SPI.h:159:15: note:   candidate expects 0 arguments, 1 provided
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:146:22: error: no matching function for call to 'SPIClass::begin(uint8_t&)'
   SPI.begin( csPin52 );
                      ^

Here is the rest of the compiler output:

/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:146:22: note: candidate is:
In file included from /Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:23:0:
/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/SPI/src/SPI.h:159:15: note: static void SPIClass::begin()
   static void begin();
               ^
/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/SPI/src/SPI.h:159:15: note:   candidate expects 0 arguments, 1 provided
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:147:79: error: no matching function for call to 'SPIClass::beginTransaction(uint8_t&, SPISettings)'
   SPI.beginTransaction( csPin52, SPISettings( m_spifrec, MSBFIRST, SPI_MODE0 ));
                                                                               ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:147:79: note: candidate is:
In file included from /Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:23:0:
/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/SPI/src/SPI.h:178:22: note: static void SPIClass::beginTransaction(SPISettings)
   inline static void beginTransaction(SPISettings settings) {
                      ^
/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/SPI/src/SPI.h:178:22: note:   candidate expects 1 argument, 2 provided
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:149:33: warning: invalid conversion from 'uint8_t {aka unsigned char}' to 'void*' [-fpermissive]
     SPI.transfer( csPin52, 0XFF );
                                 ^
In file included from /Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:23:0:
/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/SPI/src/SPI.h:244:22: note: initializing argument 1 of 'static void SPIClass::transfer(void*, size_t)'
   inline static void transfer(void *buf, size_t count) {
                      ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:217:79: error: no matching function for call to 'SPIClass::beginTransaction(uint8_t&, SPISettings)'
   SPI.beginTransaction( m_CSPin, SPISettings( m_spifrec, MSBFIRST, SPI_MODE0 ));
                                                                               ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:217:79: note: candidate is:
In file included from /Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:23:0:
/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/SPI/src/SPI.h:178:22: note: static void SPIClass::beginTransaction(SPISettings)
   inline static void beginTransaction(SPISettings settings) {
                      ^
/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/SPI/src/SPI.h:178:22: note:   candidate expects 1 argument, 2 provided
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp: In member function 'void FatFsCard::chipSelect()':
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:283:79: error: no matching function for call to 'SPIClass::beginTransaction(uint8_t&, SPISettings)'
   SPI.beginTransaction( m_CSPin, SPISettings( m_spifrec, MSBFIRST, SPI_MODE0 ));
                                                                               ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:283:79: note: candidate is:
In file included from /Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:23:0:
/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/SPI/src/SPI.h:178:22: note: static void SPIClass::beginTransaction(SPISettings)
   inline static void beginTransaction(SPISettings settings) {
                      ^
/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/SPI/src/SPI.h:178:22: note:   candidate expects 1 argument, 2 provided
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp: In member function 'uint8_t FatFsCard::spiReceive()':
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:599:38: warning: invalid conversion from 'uint8_t {aka unsigned char}' to 'void*' [-fpermissive]
   return SPI.transfer( m_CSPin, 0XFF );
                                      ^
In file included from /Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:23:0:
/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/SPI/src/SPI.h:244:22: note: initializing argument 1 of 'static void SPIClass::transfer(void*, size_t)'
   inline static void transfer(void *buf, size_t count) {
                      ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:599:38: error: void value not ignored as it ought to be
   return SPI.transfer( m_CSPin, 0XFF );
                                      ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp: In member function 'uint8_t FatFsCard::spiReceive(uint8_t*, size_t)':
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:606:43: error: 'SPI_CONTINUE' was not declared in this scope
     buf[i] = SPI.transfer( m_CSPin, 0XFF, SPI_CONTINUE );
                                           ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:607:40: warning: invalid conversion from 'uint8_t {aka unsigned char}' to 'void*' [-fpermissive]
   buf[i] = SPI.transfer( m_CSPin, 0XFF );
                                        ^
In file included from /Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:23:0:
/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/SPI/src/SPI.h:244:22: note: initializing argument 1 of 'static void SPIClass::transfer(void*, size_t)'
   inline static void transfer(void *buf, size_t count) {
                      ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:607:10: error: void value not ignored as it ought to be
   buf[i] = SPI.transfer( m_CSPin, 0XFF );
          ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp: In member function 'void FatFsCard::spiSend(uint8_t)':
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:613:31: warning: invalid conversion from 'uint8_t {aka unsigned char}' to 'void*' [-fpermissive]
   SPI.transfer( m_CSPin, data );
                               ^
In file included from /Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:23:0:
/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/SPI/src/SPI.h:244:22: note: initializing argument 1 of 'static void SPIClass::transfer(void*, size_t)'
   inline static void transfer(void *buf, size_t count) {
                      ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp: In member function 'void FatFsCard::spiSend(const uint8_t*, size_t)':
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:620:36: error: 'SPI_CONTINUE' was not declared in this scope
     SPI.transfer( m_CSPin, buf[i], SPI_CONTINUE );
                                    ^
/Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:621:33: warning: invalid conversion from 'uint8_t {aka unsigned char}' to 'void*' [-fpermissive]
   SPI.transfer( m_CSPin, buf[i] );
                                 ^
In file included from /Users/borisborisov/Documents/Arduino/libraries/FatFs/FatFsCard.cpp:23:0:
/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/SPI/src/SPI.h:244:22: note: initializing argument 1 of 'static void SPIClass::transfer(void*, size_t)'
   inline static void transfer(void *buf, size_t count) {
                      ^
exit status 1
Error compiling for board Arduino/Genuino Uno.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

I do not know where you got the FatFs library, but it appears to use it's own version of SPI, which is not compatible with the one that comes with the IDE.

I download it from github. Could you give me a link where i can download a working library?

I download it from github.

That's as useful as saying "I got it from the internet". Not at all, that is.

Could you give me a link where i can download a working library?

To do what?

Link to download the FatFs library

Did you read the instructions on the page you linked to?

=================================================
How to use FtpServer on Arduino Due and ide 1.6.0

Due != Uno