Cannot find libraries on which other libraries depend

You are right, the library.json contained in the downloaded libraries (which I think are auto-generated) are missing the build options to include their subdirectories as include folders. If those are auto-generated, it’s a bug in PlatformIO. I’ll open an issue for that to have it investigated.

In the meantime, the project does compile when you manually add the include paths to the build system via build_flags .

[env:disco_l475vg_iot01a]
platform = ststm32
board = disco_l475vg_iot01a 
framework = mbed
lib_ldf_mode = chain+
lib_deps = 
    mbed-mqtt/MQTT@0.0.0+sha.9cff7b6bbd01
    mbed-st/HTS221@0.0.0+sha.ccf7f36492ae
    mbed-farnell24-iot-team/wifi-ism43362@0.0.0+sha.766454e296c3
build_flags = 
    -D"wait_ms=ThisThread::sleep_for"
    -I"$PROJECT_LIBDEPS_DIR/$PIOENV/FP"
    -I"$PROJECT_LIBDEPS_DIR/$PIOENV/MQTT"
    -I"$PROJECT_LIBDEPS_DIR/$PIOENV/ST_INTERFACES/Actuators"
    -I"$PROJECT_LIBDEPS_DIR/$PIOENV/ST_INTERFACES/Common"
    -I"$PROJECT_LIBDEPS_DIR/$PIOENV/ST_INTERFACES/Communications"
    -I"$PROJECT_LIBDEPS_DIR/$PIOENV/ST_INTERFACES/Sensors"
    -I"$PROJECT_LIBDEPS_DIR/$PIOENV/wifi-ism43362/ISM43362"
    -I"$PROJECT_LIBDEPS_DIR/$PIOENV/wifi-ism43362/ISM43362/ATParser"
    -I"$PROJECT_LIBDEPS_DIR/$PIOENV/wifi-ism43362/ISM43362/ATParser/BufferedSpi"
    -I"$PROJECT_LIBDEPS_DIR/$PIOENV/wifi-ism43362/ISM43362/ATParser/BufferedSpi/Buffer"    
    -I"$PROJECT_LIBDEPS_DIR/$PIOENV/X_NUCLEO_COMMON/DbgMCU"
    -I"$PROJECT_LIBDEPS_DIR/$PIOENV/X_NUCLEO_COMMON/DevI2C"
    -I"$PROJECT_LIBDEPS_DIR/$PIOENV/X_NUCLEO_COMMON/DevSPI"

This makes use of two environment variables to make it nicely portable. Additionally it adds a macro definition to get older drivers compiling for mbed-os 6, since wait_ms(x) was removed and C++ code has to do ThisThread::sleep_for(x) now (issue). I’ve had this issue in e.g. ISM43362Interface.cpp.

I have no board to test if this actually works, just that it compiles. If you experience further issues you might want to downgrade to mbed-os 5.x as this is what these driver seem to require (or maybe they were already updated?)

Linking .pio\build\disco_l475vg_iot01a\firmware.elf
Checking size .pio\build\disco_l475vg_iot01a\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]   8.0% (used 10480 bytes from 131072 bytes)
Flash: [          ]   3.7% (used 38504 bytes from 1048576 bytes)
Building .pio\build\disco_l475vg_iot01a\firmware.bin
===================== [SUCCESS] Took 460.40 seconds ===================== 

Edit: Issue 3957 is opened for that.