Lib_deps header files not found despite deep+

Something has gone mad with my PlatformIO recently. I am not able any more to compile a project due to not found header files in a lib_deps based library despite the fact lib_ldf_mode is set to deep+:

Processing nodemcuv2 (platform: espressif8266; board: nodemcuv2; framework: arduino)
Verbose mode can be enabled via `-v, --verbose` option
Build number: 1.0.44 (waiting for upload before next increment)
PLATFORM: Espressif 8266 (4.2.1) > NodeMCU 1.0 (ESP-12E Module)
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
 - framework-arduinoespressif8266 @ 3.30102.0 (3.1.2) 
 - tool-esptool @ 1.413.0 (4.13) 
 - tool-esptoolpy @ 1.30000.201119 (3.0.0) 
 - toolchain-xtensa @ 2.100300.220621 (10.3.0)
LDF: Library Dependency Finder ->
LDF Modes: Finder ~ deep+, Compatibility ~ soft
Found 41 compatible libraries
Scanning dependencies...
Dependency Graph
|-- DHT sensor library for ESPx @ 1.19.0
|-- eModbus @ 1.7.2
|-- ESP8266WiFi @ 1.0
|-- ESPAsyncTCP @ 1.2.2
|-- ESP8266mDNS @ 1.2
|-- ArduinoOTA @ 1.0
|-- LittleFS @ 0.1.0
|-- ESP8266WebServer @ 1.0
Building in release mode
Compiling .pio/build/nodemcuv2/src/Blinker.cpp.o
Compiling .pio/build/nodemcuv2/src/Buttoner.cpp.o
Compiling .pio/build/nodemcuv2/src/main.cpp.o
Generating LD script .pio/build/nodemcuv2/ld/
Compiling .pio/build/nodemcuv2/lib1e9/DHT sensor library for ESPx/DHTesp.cpp.o
Compiling .pio/build/nodemcuv2/libe76/ESPAsyncTCP/AsyncPrinter.cpp.o
Compiling .pio/build/nodemcuv2/libe76/ESPAsyncTCP/ESPAsyncTCP.cpp.o
Compiling .pio/build/nodemcuv2/libe76/ESPAsyncTCP/ESPAsyncTCPbuffer.cpp.o
Compiling .pio/build/nodemcuv2/libe76/ESPAsyncTCP/SyncClient.cpp.o
Compiling .pio/build/nodemcuv2/libe76/ESPAsyncTCP/tcp_axtls.c.o
Compiling .pio/build/nodemcuv2/libab4/SPI/SPI.cpp.o
Compiling .pio/build/nodemcuv2/lib9c1/Ethernet/Dhcp.cpp.o
Compiling .pio/build/nodemcuv2/lib9c1/Ethernet/Dns.cpp.o
Compiling .pio/build/nodemcuv2/lib9c1/Ethernet/Ethernet.cpp.o
Compiling .pio/build/nodemcuv2/lib9c1/Ethernet/EthernetClient.cpp.o
src/main.cpp:15:10: fatal error: ModbusClientTCPAsync.h: No such file or directory

* Looking for ModbusClientTCPAsync.h dependency? Check our library registry!
* CLI  > platformio lib search "header:ModbusClientTCPAsync.h"
* Web  >

   15 | #include "ModbusClientTCPAsync.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Compiling .pio/build/nodemcuv2/lib9c1/Ethernet/EthernetServer.cpp.o
*** [.pio/build/nodemcuv2/src/main.cpp.o] Error 1
======================== [FAILED] Took 1.55 seconds ========================

As you can see from the screenshot below, the file in fact is there:

I am at a loss here - someone able to help me out?

Platformio version is:

System is a Ubuntu Linux PC with up-to-date Jammy Jellyfish (22.04 LTS).

In addition the “Source Control” section is repeatedly flashing between

  • although the folder is a cloned repository from Github.

No it’s not. The file is named ModbusClientTCPasync.h, but in your source code, you have uppercase A(sync). For a Linux system, it will not know what file you mean. On Windows, file names are case insensitive.


You are right - as ever :rofl:

I moved from windows to Linux recently and the last build was indeed on Windows.

Remains the question regarding the flashing Source Control panel?

Whatever… I deleted the whole directory and cloned the repository again. Now it seems to be working okay.