2020-11-05 at 2:33 PM #14792
I recently began having the following problem: Any new PIO project I create will fail to compile, beginning with this error:1.pio\libdeps\mayfly\EnviroDIY_ModularSensors\src\modems\DigiXBeeWifi.h:37:27: fatal error: TinyGsmClient.h: No such file or directory
Indeed, the TinyGSM library is missing from .pio\libdeps\mayfly, where PlatformIO should have downloaded it automatically.
This is despite specifying these directives in platformio.ini file (attached):12lib_deps = EnviroDIY_ModularSensorslib_ldf_mode = deep+
And despite ModularSensors’ library.json manifest specifying TinyGSM as a dependency (along with about 19 others). If I manually install TinyGSM using ‘pio lib install’, the compiler gets past that, but fails when it encounters the next dependency, SDI12, and so on.
For the past many months, given a proper ini file, PIO would automatically download all ModularSensors dependencies, about 24 libraries. As of now, any new PIO project I create will only automatically download these 4: EnableInterrupt, EnviroDIY_DS3231, and EnviroDIY_ModularSensors, and SdFat.
Is anyone else experiencing this? I have a colleague who recently began doing Mayfly development using PlatformIO, and he had the same problem. Mine *seems* to have begun after getting a new PC (and thus a reinstall of VSCode and PIO).
My development environment:
PlatformIO Core 5.0.2
Windows 10 Pro 64-bit
Thanks for any insights,
2020-11-05 at 4:01 PM #14794fisherbaParticipant
There are smarter people at this than me, but I have run into two solutions when I have the issue you just had.
- rebuild/compile again. It’s lame, but it sometimes solves the error.
- If #1 fails, I manually remove the .pio directory and rebuild the whole thing.
2020-11-05 at 5:31 PM #14796
Thank you for sharing your experiences! I’ve tried those things too, and I’ve definitely had them work for me in the past. I thought I had gotten pretty good at smacking PIO around and getting it to behave, but today is apparently not that day…I’ve repeatedly restarted VSCode, created brand new projects, as well as cleaning out the .pio folder, and even reinstalling PIO and VSCode several times. Something appears to be impeding PIO from traversing all of its dependencies on this machine. I just tried it on another box that has an older version of VSCode, and it worked properly there.
2020-11-05 at 6:54 PM #14797fisherbaParticipant
In theory, you could add the missing pieces manually….
2020-11-05 at 7:05 PM #14798
Yes, that works for sure; I had to do so last week just to get a couple of Mayfly loggers built and shipped out to the field. Now I’m revisiting the issue in order to get my dev environment back in order.
2020-11-05 at 7:27 PM #14799
Update: This looks to me like a PIO issue. Reverting to earlier versions of PlatformIO IDE, it works; i.e., it downloads all ModularSensors’ dependencies as expected, and my project compiles successfully. This is using a ‘minimal’ platformio.ini file that looks like this:123456789[env:mayfly]platform = atmelavrboard = mayflyframework = arduinolib_deps = EnviroDIY_ModularSensorslib_ldf_mode = deep+lib_ignore = RTCZerobuild_flags =-DSDI12_EXTERNAL_PCINT
…And my only source code is the default template main.cpp that is populated when doing a PIO -> New Project.
At the moment, I’ve reverted to PlatformIO IDE v1.10.0 as follows: In VSCode’s Extensions pane, click the Settings ‘gear’, select Install Another Version.
2020-11-08 at 10:03 PM #14801LittleManisteeParticipant
I’ve been experiencing exactly the same thing Matt described. Atom and Platform IO quit working for me, gave the same compile error. I uninstalled them and then they would not reinstall. So I loaded VSC and Platform IO and got the same compile error. Matt sent me instructions on how and where to manually put the libraries in my project files in VSC and that got me going again. I vaguely remember Platform IO doing some updates before things quit.
I’m going to install the older version as Matt describes and see what happens.
2020-11-09 at 11:07 AM #14803
2020-11-10 at 2:45 PM #14806Sara DamianoModerator
I’m sorry for being late on this.
It’s definitely something with the newest versions of PlatformIO and the very weird part is that for me *sometimes* it works and other times it does.
What I’ve usually ended up doing is putting *everything* into the lib_deps section.INI12345678910111213141516171819202122232425lib_deps =envirodiy/EnviroDIY_ModularSensors @ ~0.25.1envirodiy/EnviroDIY_DS3231 @ ~1.3.4arduino-libraries/RTCZero @ ~1.6.0greygnome/EnableInterrupt @ ~1.1.0greiman/SdFat @ ~1.1.4vshymanskyy/TinyGSM @ ~0.10.9knolleary/PubSubClient @ ~2.8adafruit/Adafruit BusIO @ ~1.6.0adafruit/Adafruit Unified Sensor @ ~1.1.4https://github.com/soligen2010/Adafruit_ADS1X15.gitadafruit/Adafruit AM2315 @ ~2.1.0adafruit/Adafruit BME280 Library @ ~2.1.2adafruit/DHT sensor library @ ~1.4.0adafruit/Adafruit INA219 @ ~1.0.9adafruit/Adafruit MPL115A2 @ ~1.1.2paulstoffregen/OneWire @ ~2.3.5milesburton/DallasTemperature @ ~3.9.1envirodiy/SDI-12 @ ~2.1.2northernwidget/MS5803 @ ~0.1.2https://github.com/NorthernWidget-Skunkworks/Tally_Library.git#Dev_I2Cenvirodiy/SensorModbusMaster @ ~0.6.8envirodiy/KellerModbus @ ~0.2.2envirodiy/YosemitechModbus @ ~0.2.3vshymanskyy/StreamDebugger @ ~1.0.1
2020-11-10 at 2:46 PM #14807Sara DamianoModerator
Also, with PlatformIO version 5 you can now specify the owner along with the library name in the lib_deps section so you’re sure you get the right one.
2020-11-12 at 6:34 PM #14817
Thank you, Sara, for the additional tips for working around this PIO issue. I haven’t gotten a response yet on their github issues page, so need to post it on their community forum for others who are experiencing the same issue.
- You must be logged in to reply to this topic.