PlatformIO Community

Adding wakaama node error


#1

I installed the wifi manager library and successfully added wifi functionality to the nodemcu, then I installed the wakaama node, after that I get the “fatal error: wakaama_config.h: No such file or directory” error even if I didn’t use wakaama library in my sketch. What is the reason for this?


#2

Please provide a minimal project which reproduces the problem.


#3

Hi,
Here I have attached whole project.
https://drive.google.com/drive/folders/1MSOVM7iJY9qPwDetmaOLqekpqWWk-7FM?usp=sharing


#4

Works fine for me.

What’s this

and how did you install it?


#5

Using the libraries in the PlatformIO menu


#6

Ah, ok. Got it… WakaamaNode.

You’ve probably got it installed into global storage, and for some reason it’s being picked up by everything related to ESP8266WiFi… just look at the Dependency Graph once it’s installed…

image

Two workarounds - use lib_ignore = WakaamaNode in your platformio.ini to… well… have platformio ignore it. But you’ll need to do this for every ESP8266 project that includes ESP8266WiFi in some way. Or, remove it from global storage (go back to the Libraries view, click on ‘Installed’, scroll down to the bottom, and then click on the ‘Uninstall’ button for it), and only include it in the project you need it in, via the lib_deps parameter in that projects platformio.ini

Addendum: Turning on verbose build gives this warning about circular dependencies (which is not present if you ignore WakaamaNode, but still doesn’t explain what upset the LDF). i.e. What was the actual match that made it think the WakaamaNode library was needed? Regardless, it looks like there must be a header file in the WakaamaNode library that is named the same as one in the ESP8266WiFi library.

Warning! Circular dependencies detected between `/home/pfeerick/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266httpUpdate` and `/home/pfeerick/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WiFi`
Warning! Circular dependencies detected between `/home/pfeerick/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266HTTPClient` and `/home/pfeerick/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WiFi`
Warning! Circular dependencies detected between `/home/pfeerick/.platformio/packages/framework-arduinoespressif8266/libraries/ArduinoOTA` and `/home/pfeerick/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WiFi`
Warning! Circular dependencies detected between `/home/pfeerick/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266mDNS` and `/home/pfeerick/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WiFi`
Warning! Circular dependencies detected between `/home/pfeerick/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266mDNS` and `/home/pfeerick/.platformio/lib/WakaamaNode_ID2964`

#7

Thank you, If there is any permanent fix let us know.


#8

Generally just don’t install libraries globally… when it works, it’s fine… but all it takes is one filename in a globally installed library to match one called in a project… and it’s a disaster from then onwards. Plus, platformio is all about being able to have project level control of libraries, frameworks, and the versions of them to use… which is negated if you use globally installed stuff.