Skip to content

FS.h header file preventing compilation #74

@the-programmer

Description

@the-programmer

Platform

ESP32

IDE / Tooling

pioarduino

What happened?

When compiling a project based on ESPAsyncWebServer I keep on encountering the "dreaded" FS.h issue.

Originally I started with the "default" PlatformIO installation. However as suggested here, this might cause issues.
So, (while still using PlatformIO) I updated the platform variable to the following

platform = https://github.com/pioarduino/platform-espressif32/releases/download/53.03.11/platform-espressif32.zip

However this didn't improve anything.

So, I swapped the PlatformIO extension for pioarduino extension and tried again. However this resulted in the same issue.

Stack Trace

Build log

 *  The terminal process "C:\Users\[Username]\.platformio\penv\Scripts\platformio.exe 'run'" terminated with exit code: 1. 
 *  Terminal will be reused by tasks, press any key to close it. 

 *  Executing task: C:\Users\[Username]\.platformio\penv\Scripts\platformio.exe run 

Processing esp32dev (platform: https://github.com/pioarduino/platform-espressif32/releases/download/53.03.11/platform-espressif32.zip; board: esp32dev; framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html
PLATFORM: Espressif 32 (53.3.11) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
 - framework-arduinoespressif32 @ 3.1.1
 - framework-arduinoespressif32-libs @ 5.3.0+sha.cfea4f7c98
 - tool-esptoolpy @ 4.8.5
 - tool-mklittlefs @ 3.2.0
 - tool-openocd-esp32 @ 2.1100.20220706 (11.0)
 - tool-riscv32-esp-elf-gdb @ 14.2.0+20240403
 - tool-xtensa-esp-elf-gdb @ 14.2.0+20240403
 - toolchain-xtensa-esp-elf @ 13.2.0+20240530
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ strict
Found 45 compatible libraries
Scanning dependencies...
Dependency Graph
|-- ESPAsyncWebServer @ 3.7.0
|-- AsyncTCP @ 3.3.5
|-- ArduinoJson @ 7.3.0
|-- espMqttClient @ 1.7.0
|-- Ethernet @ 3.1.1
|-- WiFi @ 3.1.1
|-- Wire @ 3.1.1
Building in release mode
[Other stuff]
Compiling .pio\build\esp32dev\libe77\Network\NetworkClient.cpp.o
Compiling .pio\build\esp32dev\libe77\Network\NetworkEvents.cpp.o
Compiling .pio\build\esp32dev\libe77\Network\NetworkInterface.cpp.o
Compiling .pio\build\esp32dev\libe77\Network\NetworkManager.cpp.o
Compiling .pio\build\esp32dev\libe77\Network\NetworkServer.cpp.o
Compiling .pio\build\esp32dev\libe77\Network\NetworkUdp.cpp.o
Compiling .pio\build\esp32dev\libf9c\AsyncTCP\AsyncTCP.cpp.o
Compiling .pio\build\esp32dev\lib5ed\WiFi\AP.cpp.o
Archiving .pio\build\esp32dev\libe77\libNetwork.a
Compiling .pio\build\esp32dev\lib5ed\WiFi\STA.cpp.o
Compiling .pio\build\esp32dev\lib5ed\WiFi\WiFi.cpp.o
Compiling .pio\build\esp32dev\lib5ed\WiFi\WiFiAP.cpp.o
Compiling .pio\build\esp32dev\lib5ed\WiFi\WiFiGeneric.cpp.o
Compiling .pio\build\esp32dev\lib5ed\WiFi\WiFiMulti.cpp.o
Compiling .pio\build\esp32dev\lib5ed\WiFi\WiFiSTA.cpp.o
Archiving .pio\build\esp32dev\libf9c\libAsyncTCP.a
Compiling .pio\build\esp32dev\lib5ed\WiFi\WiFiScan.cpp.o
Compiling .pio\build\esp32dev\lib409\ESPAsyncWebServer\AsyncEventSource.cpp.o
Compiling .pio\build\esp32dev\lib409\ESPAsyncWebServer\AsyncJson.cpp.o
Compiling .pio\build\esp32dev\lib409\ESPAsyncWebServer\AsyncMessagePack.cpp.o
Compiling .pio\build\esp32dev\lib409\ESPAsyncWebServer\AsyncWebHeader.cpp.o
Compiling .pio\build\esp32dev\lib409\ESPAsyncWebServer\AsyncWebSocket.cpp.o
Compiling .pio\build\esp32dev\lib409\ESPAsyncWebServer\BackPort_SHA1Builder.cpp.o
Compiling .pio\build\esp32dev\lib409\ESPAsyncWebServer\ChunkPrint.cpp.o
Compiling .pio\build\esp32dev\lib409\ESPAsyncWebServer\Middleware.cpp.o
In file included from .pio/libdeps/esp32dev/ESPAsyncWebServer/src/AsyncEventSource.h:33,
                 from .pio/libdeps/esp32dev/ESPAsyncWebServer/src/AsyncEventSource.cpp:8:
.pio/libdeps/esp32dev/ESPAsyncWebServer/src/ESPAsyncWebServer.h:9:10: fatal error: FS.h: No such file or directory

************************************************************
* Looking for FS.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:FS.h"
* Web  > https://registry.platformio.org/search?q=header:FS.h
*
************************************************************

    9 | #include "FS.h"
      |          ^~~~~~
compilation terminated.
Archiving .pio\build\esp32dev\lib5ed\libWiFi.a
*** [.pio\build\esp32dev\lib409\ESPAsyncWebServer\AsyncEventSource.cpp.o] Error 1
In file included from .pio/libdeps/esp32dev/ESPAsyncWebServer/src/AsyncWebHeader.cpp:4:
.pio/libdeps/esp32dev/ESPAsyncWebServer/src/ESPAsyncWebServer.h:9:10: fatal error: FS.h: No such file or directory

************************************************************
* Looking for FS.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:FS.h"
* Web  > https://registry.platformio.org/search?q=header:FS.h
*
************************************************************

    9 | #include "FS.h"
      |          ^~~~~~
compilation terminated.
*** [.pio\build\esp32dev\lib409\ESPAsyncWebServer\AsyncWebHeader.cpp.o] Error 1
In file included from .pio/libdeps/esp32dev/ESPAsyncWebServer/src/AsyncWebSocket.h:26,
                 from .pio/libdeps/esp32dev/ESPAsyncWebServer/src/AsyncWebSocket.cpp:4:
.pio/libdeps/esp32dev/ESPAsyncWebServer/src/ESPAsyncWebServer.h:9:10: fatal error: FS.h: No such file or directory

************************************************************
* Looking for FS.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:FS.h"
* Web  > https://registry.platformio.org/search?q=header:FS.h
*
************************************************************

    9 | #include "FS.h"
      |          ^~~~~~
compilation terminated.
*** [.pio\build\esp32dev\lib409\ESPAsyncWebServer\AsyncWebSocket.cpp.o] Error 1
In file included from .pio/libdeps/esp32dev/ESPAsyncWebServer/src/AsyncJson.h:17,
                 from .pio/libdeps/esp32dev/ESPAsyncWebServer/src/AsyncJson.cpp:4:
.pio/libdeps/esp32dev/ESPAsyncWebServer/src/ESPAsyncWebServer.h:9:10: fatal error: FS.h: No such file or directory

************************************************************
* Looking for FS.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:FS.h"
* Web  > https://registry.platformio.org/search?q=header:FS.h
*
************************************************************

    9 | #include "FS.h"
      |          ^~~~~~
compilation terminated.
*** [.pio\build\esp32dev\lib409\ESPAsyncWebServer\AsyncJson.cpp.o] Error 1
In file included from .pio/libdeps/esp32dev/ESPAsyncWebServer/src/AsyncMessagePack.h:37,
                 from .pio/libdeps/esp32dev/ESPAsyncWebServer/src/AsyncMessagePack.cpp:4:
.pio/libdeps/esp32dev/ESPAsyncWebServer/src/ESPAsyncWebServer.h:9:10: fatal error: FS.h: No such file or directory

************************************************************
* Looking for FS.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:FS.h"
* Web  > https://registry.platformio.org/search?q=header:FS.h
*
************************************************************

    9 | #include "FS.h"
      |          ^~~~~~
compilation terminated.
*** [.pio\build\esp32dev\lib409\ESPAsyncWebServer\AsyncMessagePack.cpp.o] Error 1
In file included from .pio/libdeps/esp32dev/ESPAsyncWebServer/src/Middleware.cpp:5:
.pio/libdeps/esp32dev/ESPAsyncWebServer/src/ESPAsyncWebServer.h:9:10: fatal error: FS.h: No such file or directory

************************************************************
* Looking for FS.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:FS.h"
* Web  > https://registry.platformio.org/search?q=header:FS.h
*
************************************************************

    9 | #include "FS.h"
      |          ^~~~~~
compilation terminated.
*** [.pio\build\esp32dev\lib409\ESPAsyncWebServer\Middleware.cpp.o] Error 1
========================================================================================== [FAILED] Took 32.07 seconds ==========================================================================================

 *  The terminal process "C:\Users\[Username]\.platformio\penv\Scripts\platformio.exe 'run'" terminated with exit code: 1. 
 *  Terminal will be reused by tasks, press any key to close it. 

platformio.ini

[env:esp32dev]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/53.03.11/platform-espressif32.zip
board = esp32dev
framework = arduino
board_build.mcu = esp32
board_build.f_cpu = 240000000L
platform_packages =
	platformio/tool-openocd-esp32
board_debug.openocd_board = esp32.cfg
debug_tool = esp-prog
debug_speed = 20000
upload_protocol = esptool
monitor_speed = 256000
upload_speed = 921600
lib_compat_mode = strict
lib_ldf_mode = chain
lib_deps =
    esp32async/ESPAsyncWebServer@^3.6.2
    esp32async/AsyncTCP@^3.3.3
    bblanchon/ArduinoJson@^7.3.0
    bertmelis/espMqttClient@=1.7.0
    #fastled/FastLED@=3.9.13
build_flags = 
	-DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_VERBOSE
	-DDEBUG_ESP_DNS=1
    -DDEBUG_ESP_MQTT_CLIENT
    -DEMC_USE_WATCHDOG
    -std=c++17
    -std=gnu++17
	;-DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
	;-DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_INFO
build_unflags =
  -std=gnu++11

Minimal Reproductible Example (MRE)

Even tough I am not actively using ESPAsyncWebServer, adding the line esp32async/ESPAsyncWebServer@^3.6.2 to the lib_deps section seems to trigger this issue.

I confirm that:

  • I have read the documentation.
  • I have searched for similar discussions.
  • I have searched for similar issues.
  • I have looked at the examples.
  • I have upgraded to the lasted version of ESPAsyncWebServer (and AsyncTCP for ESP32).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions