LDF Bug, can't find dependency during build phase but manually installs fine


#1

esp8266-google-home-notifier has a dependency esp8266-google-tts and both are registered libraries, but for some reason pio cannot find the dependency in the build phase, only if it is installed manually. See output.

 …/tempp  ✔  pio run
Processing e (platform: espressif32; board: featheresp32; framework: arduino)
-------------------------------------------------------------------------------------------------
LibraryManager: Installing id=5425
Downloading...
Unpacking  [####################################]  100%
Verbose mode can be enabled via `-v, --verbose` option
PLATFORM: Espressif 32 > Adafruit ESP32 Feather
SYSTEM: ESP32 240MHz 320KB RAM (4MB Flash)
DEBUG: CURRENT(esp-prog) EXTERNAL(esp-prog, minimodule, olimex-arm-usb-ocd, olimex-arm-usb- ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny)
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 25 compatible libraries
Scanning dependencies...
Error: Could not find `esp8266-google-tts` dependency for `esp8266-google-home-notifier` library
=================================== [ERROR] Took 1.81 seconds ===================================
 …/tempp  ↵ 1  vi platformio.ini
 …/tempp  ✔  pio lib search esp8266-google-tts
Found 1 libraries:

esp8266-google-tts
==================
#ID: 2751
generate the link to speech mp3 on esp8266/32.

Keywords: processing, data
Compatible frameworks: Arduino
Compatible platforms: Espressif 32, Espressif 8266
Authors: horihiro

Not sure why its not fetching the dependency automatically.

 …/tempp  ↵ 1  pio --version
PlatformIO, version 3.6.0

#2

Could you share platformio.ini? Have you declared dependencies in http://docs.platformio.org/en/latest/projectconf/section_env_library.html#lib-deps?


#3

Yep, this is what I was using (which usually works)

; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; http://docs.platformio.org/page/projectconf.html
[env:e]
platform = espressif32
board = featheresp32
framework = arduino
lib_deps = esp8266-google-home-notifier

#4

This library was registered using Arduino’s library.properties which does not support dependencies. I’ve just sent PR https://github.com/horihiro/esp8266-google-home-notifier/pull/8

Let’s wait when it will be merged.


#5

Sounds good, but that seems a bit strange since pio acknowledged that the dependency existed, but failed to look it up even though it existed.