I’m trying to re-build some binaries of a project that I know compile successfully, but ever since a few days ago, the build is failing. I’m using the Mbed framework with an STM32 board, and a particular line of code is failing during compile.
C:\Users<my username>.platformio\packages\firstname.lastname@example.org\connectivity\nanostack\sal-stack-nanostack\source\Security\protocols\eap_tls_sec_prot\radius_eap_tls_sec_prot.c:589:1: fatal error: opening dependency
file .pio\build\pcb_f446ve_debug\FrameworkMbedconnectivity\nanostack\sal-stack-nanostack\source\Security\protocols\eap_tls_sec_prot\radius_eap_tls_sec_prot.d: No such file or directory
I’m looking in the folder, and indeed it’s not there. But why isn’t the compiler building that file for this particular code-base?
I’ve tried a few things to:
- re-installing PlatformIO from scratch,
- tried alternate platform versions platform=ststm32@, tried V13, 12 and 11.
- I also tried alternate platform_packages versions in my platformio.ini file. Even though some of the older platform versions had their own matching versions.
- deleting both the .vscode and .pio folders in project to force it to re-build those
- deleting the packages/framework-mbed folders, so that PIO re-downloads them from scratch. Having tried different versions, I had 5 of them.
Working with a freshly created project does not repeat the same error but the code referenced is a part of the Mbed framework, not my code.
Oddly enough, this is only happening on my Windows 10 machine, but not on my Ubuntu machine with the same configuration and same exact code base. On Ubuntu, it compiles just fine with the latest version of ststm32 platform and framework (and quicker too).
I’m not sure what else I can try to troubleshoot this issue? The only thing I can think of, is I recently made some changes to my standard C++ environment, so maybe it’s affected some of the default compiler choices in PIO? I can’t think why because it’s a totally different toolchain…