I had to reflash a m5atom device so I checked out the old project on my new machine, but I couldn’t for the life of me get it to build. Went back to my old machine and it build without issues. I took note of the exact versions of espressif and packages used and tried to lock the versions so it would work the same on my other machine - but to no avail, even more issues showed up.
compilation terminated.
*** [.pio\build\m5stack-atom\lib792\Wifi Manager for ESP32\WifiManager.cpp.o] Error 1
In file included from .pio/libdeps/m5stack-atom/WebServer_ESP32_ENC/src/enc28j60/esp32_enc28j60.cpp:25:0:
.pio/libdeps/m5stack-atom/WebServer_ESP32_ENC/src/enc28j60/esp32_enc28j60.h:32:27: fatal error: hal/spi_types.h: No such file or directory
compilation terminated.
*** [.pio\build\m5stack-atom\lib5ed\WebServer_ESP32_ENC\enc28j60\esp32_enc28j60.cpp.o] Error 1
In file included from .pio/libdeps/m5stack-atom/WebServer_ESP32_W5500/src/w5500/esp32_w5500.cpp:22:0:
.pio/libdeps/m5stack-atom/WebServer_ESP32_W5500/src/w5500/esp32_w5500.h:28:27: fatal error: hal/spi_types.h: No such file or directory
compilation terminated.
*** [.pio\build\m5stack-atom\lib985\WebServer_ESP32_W5500\w5500\esp32_w5500.cpp.o] Error 1
*** [.pio\build\m5stack-atom\lib5ed\WebServer_ESP32_ENC\enc28j60\extmod\esp_eth_spi_enc28j60.c.o] Error 1
*** [.pio\build\m5stack-atom\lib5ed\WebServer_ESP32_ENC\enc28j60\extmod\esp_eth_mac_enc28j60.c.o] Error 1
.pio/libdeps/m5stack-atom/Wifi Manager for ESP32/src/WifiManager.cpp:4:21: fatal error: ESPmDNS.h: No such file or directory
.pio/libdeps/m5stack-atom/WebServer_ESP32_ENC/src/enc28j60/extmod/esp_eth_phy_enc28j60.c:37:33: fatal error: eth_phy_regs_struct.h: No such file or directory
So maybe I’m missing something, but shouldn’t it be exactly the same thing building it on two different machines as long as those versions are set to be the same?
Wow, that’s an ancient version released on Aug 31, 2021!
Is this the exact version which is used on the machine where the compilation work? Please check which Espressif32 versions are installed on the (working) machine.
I cleared out C:\Users\<user>\.platformio 's cache, packages and platforms folder, deleted the project .pio folder, cleaned the project and let it redownload everything again - but nope, same errors.
The version listed under ‘Platforms’ as you mention in the above, is correctly listed as the version I tried to lock the project to:
Now, I know it’s old but I guess it shouldn’t matter at all when I see it building fine with this old version? Any new project I would obviously use the newest stuff, but just reviving this ol’ boi I’d prefer not to have to change too much
For fun I upgraded the packages to see what happened, and I just get a new error that again has nothing to do with my code but probably some of the libraries I use or something like that😑
This is why you see in the initial post that I did platform = espressif32 @ 3.3.2 in my platform ini - including locking the platform_packages too to ensure the versions were the exact same ones as the one used on my old machine.
I had hoped to understand what happened, but at least i can get things to work now it seems Thank you for prodding me in the right direction.
This seems to have been the culprit. I decided to migrate to AsyncTCP.h using the AsyncClient and got rid of the khoih-prog/AsyncHTTPRequest_Generic package.
Now I’m on the most recent version of espressif (6.9) and everything compiles without warnings.