PlatformIO Community

PIO Upgrade generates error "'isnan' has not been declared"

I have been trying on and off for months to install platformio on my Mac so I can build this project https://github.com/esprfid/esp-rfid

After some help from platformio I managed to dothis last week, I had too many versions of python installed.

I download the code and built it nut it generated these errors,
/home/pi/.platformio/packages/framework-arduinoespressif8266@2.20502.0/cores/esp8266/Arduino.h:270:12: error: ‘isinf’ has not been declared in ‘std’
270 | using std::isinf;

I then realised I could install platform io CLI on my raspberry PI 4, which I did and the project built with no errors.

Then I ran this command “pio upgrade” and this package was updated
Updating platformio/toolchain-xtensa 2.40802.200502 @ <3 [Updating to 2.100100.200706]
Tool Manager: Installing platformio/toolchain-xtensa @ 2.100100.200706

Now when I build the project I get the same errors as per my MAC.

So my question is, have I found a bug or more likely as I am a newcomer to platformio is there something wrong with my setup?

Can I roll back to the previous version on both my PI and preferable my MAC so I can use VScode editor?

Is there something else I can do to investigate the problem?

Steve

The platformio.ini in the “dev” branch actually seems more sensible than that in the stable / main branch, since it fixes the version of the Espressif8266 platform. Stable uses bleeding edge (antipattern…)

Thus it seems like issues with the same root cause as in https://github.com/esprfid/esp-rfid/issues/354.

When I do a git checkout dev in the project folder to switch to the branch, and then Build / pio run

PLATFORM: Espressif 8266 (2.3.2) > Espressif ESP8266 ESP-12E
HARDWARE: ESP8266 160MHz, 80KB RAM, 4MB Flash
PACKAGES:
 - framework-arduinoespressif8266 2.20603.191216 (2.6.3)
 - tool-esptool 1.413.0 (4.13)
 - tool-esptoolpy 1.20800.0 (2.8.0)
 - toolchain-xtensa 2.40802.200502 (4.8.2)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
...
RAM:   [=====     ]  51.5% (used 42192 bytes from 81920 bytes)
Flash: [======    ]  63.8% (used 666472 bytes from 1044464 bytes)
Creating BIN file ".pio\build\generic\firmware.bin" using ".pio\build\generic\firmware.elf"
after_build(["buildprog"], [".pio\build\generic\firmware.bin"])
============================================= [SUCCESS] Took 77.30 seconds =============================================

all is fine.

Switching back to stablebranch gives

PLATFORM: Espressif 8266 (2.6.2+sha.468a625) > Espressif ESP8266 ESP-12E
HARDWARE: ESP8266 160MHz, 80KB RAM, 4MB Flash
PACKAGES:
 - framework-arduinoespressif8266 3.20704.0 (2.7.4)
 - tool-esptool 1.413.0 (4.13)
 - tool-esptoolpy 1.30000.201119 (3.0.0)
 - toolchain-xtensa 2.40802.200502 (4.8.2)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
..
 RAM:   [=====     ]  50.7% (used 41540 bytes from 81920 bytes)
Flash: [======    ]  63.1% (used 658748 bytes from 1044464 bytes)
Creating BIN file ".pio\build\generic\firmware.bin" using "C:\Users\Max\.platformio\packages\framework-arduinoespressif8266\bootloaders\eboot\eboot.elf" and ".pio\build\generic\firmware.elf"
after_build(["buildprog"], [".pio\build\generic\firmware.bin"])
============== [SUCCESS] Took 36.57 seconds ==============

… also a successfull compilation! :smiley:

This version is not found / correct in any of the two compilations.

I’d suggest you

  • rm -rf ~/.platformio/packages/framework-arduinoespressif8266* (to get rid of all versions of the Arduino-ESP8266 framework, they’ll be automatically reinstalled later)
  • pio upgrade --dev to get the latest PIO core version
  • try and build the stable branch again
  • try and build the dev branch

Thanks,
That sorted it on my PI and MAC, now to have a look at the project.

Thanks for quick response,

Steve