Pio ci build suddenly fails - can no longer find library

I am using travis.yml to trigger a build on my RFM69 library:

I added some examples to my RFM69 Github repo. A build was triggered and failed. This worked a few months ago (erorrs happen on older untouched files as well). Now suddenly I get a bunch of these errors:
/tmp/tmp883zfmqe/src/MightyHat.ino:17:10: fatal error: Streaming.h: No such file or directory

The library is this: /560/Streaming
It is installed using the following command, along with many other libraries:
- platformio lib install 7 11817 125 131 136 170 176 531 532 536 684 560 6230 942
The LDF does not seem to find this dependency (I checked a previous build from 3 months ago and it did find it).

The build command is:
- platformio ci --board=moteino --lib=.

I tried to add a few things to the build but nothing helped:
--project-option="lib_compat_mode=strict"
--project-option="build_flags=-I include"
--project-option="lib_deps=Streaming"

I checked all the libraries that yield such errors, they have not changed in at least 1 year. Has the LDF changed?
Anyone have a clue what has changed?

Seems like the library registry killed the contents of the Streaming library. If I install the libraries and go into C:\Users\<user>\.platformio\lib\Streaming I see

No source files.

CC @ivankravets, https://platformio.org/lib/show/560/Streaming/ is broken?

Also, if I remove the above Streaming folder and instead do

>pio lib --global install http://arduiniana.org/Streaming/Streaming5.zip

which is the download URL mentioned in its library.json, I get

>pio lib --global install http://arduiniana.org/Streaming/Streaming5.zip
Library Storage: C:\Users\Max\.platformio\lib
Library Manager: Installing http://arduiniana.org/Streaming/Streaming5.zip
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: Streaming5 @ 0.0.0+20211215195258 has been installed!

Which gives me the Streaming5 (not Streaming) folder with the right-looking header.

Rerunning the CI command then gives me

>pio ci --board=moteino --lib=. Examples\MightyHat
..
Building .pio\build\moteino\firmware.hex
==================[SUCCESS] Took 12.24 seconds ==================

So, looks like a break in PIO’s library registry broke your build…

Try and see if merging Fix libraries by maxgerhardt · Pull Request #174 · LowPowerLab/RFM69 · GitHub helps?

2 Likes

Thank you sir, that was lightning fast, build is fixed! :innocent:

Any idea what would be causing the registry to be broken as you mentioned?
Some human intervention? The library has not changed in a while.

In any case, thanks very much for showing me how to include the library directly from the source, will be useful in case something similar happens to another library.

I know PlatformIO recently introduced a new library registry frontend (with possible backend changes?), so maybe something in there caused that. I think Ivan, whom I CC’ed above, will likely find the problem and fixup the library so that lib ID 560 includes the library source again. Maybe it’s also a problem with a name change (StreamingStreaming5).

After it’s fixed in the library registry, your original .travis.yml should work again, so feel free to change it back. The purpose of the PIO library registry is to provide a stable download source, which ironically has failed for this library, but usually sourcing stuff from the library registry is better than external download links.

Please switch to the original package https://registry.platformio.org/packages/libraries/mikalhart/Streaming

1 Like

Seems like the library ID 560 was fixed, I now get back the original content – as said above you might still want to use pio lib --global install mikalhart/Streaming.