Description
I have a PlatformIO project that I've been working on for several weeks. It's been working fine, but last week (around 1st August) the project stopped compiling.
xtensa-esp32s3-elf-g++: error: unrecognized command line option '-std=gnu++2b'; did you mean '-std=gnu++2a'?
This is the relevant part of platformio.ini
framework = arduino
platform = https://github.com/platformio/platform-espressif32.git
;platform_packages = espressif/toolchain-xtensa-esp32s3
board = esp32-s3-devkitm-1
build_type = debug
build_flags = ${env:arduino.build_flags} -DARDUINO_USB_MODE -DARDUINO_USB_CDC_ON_BOOT
When building, the toolchain selected is an old version:
PACKAGES:
- framework-arduinoespressif32 @ 3.20017.0 (2.0.17)
- tool-esptoolpy @ 1.40501.0 (4.5.1)
- toolchain-riscv32-esp @ 8.4.0+2021r2-patch5
- toolchain-xtensa-esp32s3 @ 8.4.0+2021r2-patch5
I have tried uninstalling and reinstalling the latest version of toolchain-xtensa-esp32s3
but the PIO build continues to use the old version.
Running pio pkg update
shows that all dependencies are already up to date.
I added
platform_packages = espressif/toolchain-xtensa-esp32s3
which then uses the latest version of the toolchain ([email protected]+20230208
), and does build the .elf file, but results in many warnings like:
/Users/mat/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32s3/include/freertos/port/xtensa/include/freertos/portmacro.h:614:1: warning: ignoring attribute 'section (".iram1.24")' because it conflicts with previous 'section (".iram1.22")' [-Wattributes]
614 | {
and during linking,
warning: .pio/build/esp32s3/firmware.elf has a LOAD segment with RWX permissions
pio --version
PlatformIO Core, version 6.1.15
python --version
Python 3.12.4
I've also deleted the ~/.platformio directory and the project's .pio
directory but no change in behavior.