FTPClient_Generic.h doesn't work with SdFat.h or Adafruit_SPIFlash.h

Hi,

I want to upload data from ESP32-WROVER module with FTP and started using TPClient_Generic.h library (https://github.com/khoih-prog/FTPClient_Generic). It has example "FTPClient_UploadImage.ino" and it works. However, the uploaded data is compiled into sketch (octocat.h) and as such doesn't work for my purpose.

I have data to be uploaded stored in SPI FLASH memory. Data is stored in FLASH by using SdFat.h and Adafruit_SPIFlash.h libraries and it works fine by itself.

The problem arises when I include SdFat.h and Adafruit_SPIFlash.h libraries to "FTPClient_UploadImage.ino" sketch. Actually it doesn't matter what there is in "setup" and "loop", just inclusion of either of those libs gives error:

Compiling sketch...
"C:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\xtensa-esp32-elf-gcc\\gcc8_4_0-esp-2021r2-patch3/bin/xtensa-esp32-elf-g++" -DHAVE_CONFIG_H "-DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"" -DUNITY_INCLUDE_CONFIG_H -DWITH_POSIX -D_GNU_SOURCE "-DIDF_VER=\"v4.4.2\"" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/newlib/platform_include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/freertos/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/freertos/include/esp_additions/freertos" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/freertos/port/xtensa/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/freertos/include/esp_additions" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_hw_support/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_hw_support/include/soc" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_hw_support/port/esp32" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/heap/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/log/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/lwip/include/apps" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/lwip/include/apps/sntp" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/lwip/lwip/src/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/lwip/port/esp32/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/lwip/port/esp32/include/arch" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/soc/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/soc/esp32" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/soc/esp32/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/hal/esp32/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/hal/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/hal/platform_port/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_rom/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_rom/include/esp32" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_rom/esp32" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_common/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_system/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_system/port/soc" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_system/port/public_compat" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp32/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/xtensa/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/xtensa/esp32/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/driver/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/driver/esp32/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_pm/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_ringbuf/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/efuse/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/efuse/esp32/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/vfs/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_wifi/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_event/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_netif/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_eth/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/tcpip_adapter/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_phy/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_phy/esp32/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_ipc/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/app_trace/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_timer/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/mbedtls/port/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/app_update/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/spi_flash/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bootloader_support/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/nvs_flash/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/pthread/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_gdbstub/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_gdbstub/xtensa" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_gdbstub/esp32" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/espcoredump/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/espcoredump/include/port/xtensa" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/wpa_supplicant/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/wpa_supplicant/port/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/ieee802154/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/console" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/asio/asio/asio/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/asio/port/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bt/common/osi/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bt/include/esp32/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bt/common/api/include/api" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bt/common/btc/profile/esp/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/bt/esp_ble_mesh/api" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/cbor/port/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/unity/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/unity/unity/src" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/cmock/CMock/src" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/coap/port/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/coap/libcoap/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/nghttp/port/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-tls" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-tls/esp-tls-crypto" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_adc_cal/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_hid/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/tcp_transport/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_http_client/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_http_server/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_https_ota/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_https_server/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_lcd/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_lcd/interface" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/protobuf-c/protobuf-c" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/protocomm/include/common" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/protocomm/include/security" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/protocomm/include/transports" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/mdns/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_local_ctrl/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/sdmmc/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_serial_slave_link/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_websocket_client/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/expat/expat/expat/lib" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/expat/port/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/wear_levelling/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/fatfs/diskio" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/fatfs/vfs" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/fatfs/src" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/freemodbus/common/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/idf_test/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/idf_test/include/esp32" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/jsmn/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/json/cJSON" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/libsodium/port_include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/mqtt/esp-mqtt/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/openssl/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/perfmon/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/spiffs/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/ulp/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/wifi_provisioning/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/rmaker_common/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/json_parser/upstream/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/json_parser/upstream" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/json_generator/upstream" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_schedule/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_rainmaker/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/gpio_button/button/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/qrcode/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/ws2812_led" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/dotprod/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/support/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/windows/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/windows/hann/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/windows/blackman/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/windows/blackman_harris/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/windows/blackman_nuttall/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/windows/nuttall/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/windows/flat_top/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/iir/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/fir/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/math/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/math/add/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/math/sub/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/math/mul/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/math/addc/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/math/mulc/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/math/sqrt/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/matrix/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/fft/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/dct/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/conv/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/common/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/kalman/ekf/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dsp/modules/kalman/ekf_imu13states/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp_littlefs/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dl/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dl/include/tool" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dl/include/typedef" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dl/include/image" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dl/include/math" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dl/include/nn" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dl/include/layer" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dl/include/detect" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-dl/include/model_zoo" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-sr/src/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-sr/esp-tts/esp_tts_chinese/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp-sr/include/esp32" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp32-camera/driver/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/esp32-camera/conversions/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/include/fb_gfx/include" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5/tools/sdk/esp32/qio_qspi/include" -mlongcalls -Wno-frame-address -ffunction-sections -fdata-sections -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -ggdb -Os -freorder-blocks -Wwrite-strings -fstack-protector -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -std=gnu++11 -fexceptions -fno-rtti -MMD -c -w -DF_CPU=240000000L -DARDUINO=10813 -DARDUINO_ESP32_DEV -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=\"ESP32_DEV\"" "-DARDUINO_VARIANT=\"esp32\"" -DARDUINO_PARTITION_default -DESP32 -DCORE_DEBUG_LEVEL=0 -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-strategy=memw -DARDUINO_USB_CDC_ON_BOOT=0 "@C:\\Users\\tipo1\\AppData\\Local\\Temp\\arduino_build_424409/build_opt.h" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5\\cores\\esp32" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5\\variants\\esp32" "-IC:\\PROJECTS\\Arduino\\libraries\\WiFiWebServer\\src" "-IC:\\PROJECTS\\Arduino\\libraries\\Functional-Vlpp\\src" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5\\libraries\\WiFi\\src" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5\\libraries\\FS\\src" "-IC:\\PROJECTS\\Arduino\\libraries\\FTPClient_Generic\\src" "-IC:\\Users\\tipo1\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.5\\libraries\\SPI\\src" "-IC:\\PROJECTS\\Arduino\\libraries\\Adafruit_SPIFlash\\src" "-IC:\\PROJECTS\\Arduino\\libraries\\SdFat_-_Adafruit_Fork\\src" "C:\\Users\\tipo1\\AppData\\Local\\Temp\\arduino_build_424409\\sketch\\ESP32_FTPClient_upload_test_red_1_221108.ino.cpp" -o "C:\\Users\\tipo1\\AppData\\Local\\Temp\\arduino_build_424409\\sketch\\ESP32_FTPClient_upload_test_red_1_221108.ino.cpp.o"
In file included from C:\PROJECTS\Arduino\libraries\SdFat_-_Adafruit_Fork\src/FatLib/FatLib.h:27,
                 from C:\PROJECTS\Arduino\libraries\SdFat_-_Adafruit_Fork\src/SdFat.h:33,
                 from C:\PROJECTS\Arduino\libraries\Adafruit_SPIFlash\src/Adafruit_SPIFlash.h:32,
                 from C:\PROJECTS\Kiihtyvyys\Arduino\ESP32\ESP32_FTPClient_upload_test_red_1_221108\ESP32_FTPClient_upload_test_red_1_221108.ino:30:
C:\PROJECTS\Arduino\libraries\SdFat_-_Adafruit_Fork\src/FatLib/ArduinoFiles.h:122:7: error: redefinition of 'class fs::File'
 class File : public FatFile, public Stream {
       ^~~~
In file included from C:\PROJECTS\Arduino\libraries\WiFiWebServer\src/WiFiWebServer.hpp:345,
                 from C:\PROJECTS\Arduino\libraries\WiFiWebServer\src/WiFiWebServer.h:50,
                 from C:\Users\tipo1\AppData\Local\Temp\arduino_build_424409\sketch\defines.h:384,
                 from C:\PROJECTS\Kiihtyvyys\Arduino\ESP32\ESP32_FTPClient_upload_test_red_1_221108\ESP32_FTPClient_upload_test_red_1_221108.ino:24:
C:\Users\tipo1\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5\libraries\FS\src/FS.h:47:7: note: previous definition of 'class fs::File'
 class File : public Stream
       ^~~~
In file included from C:\PROJECTS\Arduino\libraries\SdFat_-_Adafruit_Fork\src/FatLib/FatLib.h:28,
                 from C:\PROJECTS\Arduino\libraries\SdFat_-_Adafruit_Fork\src/SdFat.h:33,
                 from C:\PROJECTS\Arduino\libraries\Adafruit_SPIFlash\src/Adafruit_SPIFlash.h:32,
                 from C:\PROJECTS\Kiihtyvyys\Arduino\ESP32\ESP32_FTPClient_upload_test_red_1_221108\ESP32_FTPClient_upload_test_red_1_221108.ino:30:
C:\PROJECTS\Arduino\libraries\SdFat_-_Adafruit_Fork\src/FatLib/FatFileSystem.h: In member function 'fs::File FatFileSystem::open(const char*, oflag_t)':
C:\PROJECTS\Arduino\libraries\SdFat_-_Adafruit_Fork\src/FatLib/FatFileSystem.h:95:13: error: 'class fs::File' has no member named 'open'
     tmpFile.open(vwd(), path, oflag);
             ^~~~
Multiple libraries were found for "WiFi.h"
 Used: C:\Users\tipo1\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5\libraries\WiFi
 Not used: C:\PROJECTS\Arduino\libraries\WiFiEspAT
 Not used: C:\Program Files (x86)\Arduino\libraries\WiFi

So two libraries are using same File class...??? Is there something I can do?

Thanks,
Tipo

Yes, rename the File class in the complete FTP library. As most Arduino libraries don't use name spaces such name clashes can occur.

It looks File class is not defined in "FTPClient_Generic.h" library. I didn't find it from there.

Based on the error message I tracked the definition to "FS.h".

C:\Users\tipo1\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5\libraries\FS\src/FS.h:47:7: note: previous definition of 'class fs::File'
 class File : public Stream

Should I really go ahead and change the class name "File" in "FS.h"? I'm asking because I'm worried something else in some other sketch might stop working....

Thanks,
Tipo

Post your complete code!

It seems that the FS library of the ESP32 core is included somewhere in your code. If that's really needed, then I would recommend to change the fs::File definition in the Adafruit fork of the SdFat library and not in the core library.

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