Could not find the package with 'SPI' requirements for your system 'linux_x86_64'

After upgrading PIO from a pretty old version, I’m getting this error when it tries to install the SPI library. The other libraries install just fine, but they are specified by github address rather than the library name in the PIO registry.
Here’s my platformio.ini.
Has the SPU library been removed from the PIO registry?

default_envs = esp32
build_dir = build/
src_dir = ./

lib_arduino_common = 

board_build.arduino.upstream_packages = no
platform_packages = 
	framework-arduinoespressif32 @
platform = espressif32
framework = arduino
board = esp32dev
monitor_speed = 115200
upload_speed = 921600
lib_deps =

build_unflags = -std=gnu++11 -Os -std=c++11 -std=c++14 -std=gnu++14 -std=gnu++1y -std=c++1y
build_flags = 
	-std=gnu++2a ; gnu needed for 'typeof'

This makes no sense. The ESP-IDF repo is not the Arduino-ESP32 repo, so it can’t be used as the source for the framework-arduinoespressif32 package.

Thank you. It used to work before, somehow (although probably not with the version 5). Is there any way to get the ESP32 Arduino support, but use the latest C++20-capable compiler?

Given toolchain-xtensa-esp32 is the used toolchain package, with the default-used version being 8.4.0, have you tried only upgrading that to GCC 12 by doing:

platform_packages = 


The chances of that are nil. The ESP-IDF repo can’t supply Arduino-ESP32.

Branches or tags of Arduino-ESP32 are fine, e.g.,


But this would only upgrade the framework code, not the toolchain. (In some cases though, both a framework and toolchain update may be needed).

That worked perfectly, thank you very much!