But PIO project configurator error

I’m trying to run the following configuration:

[env]
platform = espressif32
platform_packages =
framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32#3.0.0-rc1
framework-espidf @ ~3.50101.0
board = arduino_nano_esp32
framework = arduino
build_type = debug

But it seems there is something wrong:

KeyError: 'framework-arduinoespressif32-libs':
  File "C:\Users\myuser\.platformio\penv\Lib\site-packages\platformio\builder\main.py", line 173:
    env.SConscript("$BUILD_SCRIPT")
  File "C:\Users\myuser\.platformio\packages\tool-scons\scons-local-4.7.0\SCons\Script\SConscript.py", line 612:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\myuser\.platformio\packages\tool-scons\scons-local-4.7.0\SCons\Script\SConscript.py", line 279:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\Users\myuser\.platformio\platforms\espressif32\builder\main.py", line 368:
    target_elf = env.BuildProgram()
  File "C:\Users\myuser\.platformio\packages\tool-scons\scons-local-4.7.0\SCons\Util\envs.py", line 251:
    return self.method(*nargs, **kwargs)
  File "C:\Users\myuser\.platformio\penv\Lib\site-packages\platformio\builder\tools\piobuild.py", line 61:
    env.ProcessProgramDeps()
  File "C:\Users\myuser\.platformio\packages\tool-scons\scons-local-4.7.0\SCons\Util\envs.py", line 251:
    return self.method(*nargs, **kwargs)
  File "C:\Users\myuser\.platformio\penv\Lib\site-packages\platformio\builder\tools\piobuild.py", line 121:
    env.BuildFrameworks(env.get("PIOFRAMEWORK"))
  File "C:\Users\myuser\.platformio\packages\tool-scons\scons-local-4.7.0\SCons\Util\envs.py", line 251:
    return self.method(*nargs, **kwargs)
  File "C:\Users\myuser\.platformio\penv\Lib\site-packages\platformio\builder\tools\piobuild.py", line 347:
    SConscript(env.GetFrameworkScript(name), exports="env")
  File "C:\Users\myuser\.platformio\packages\tool-scons\scons-local-4.7.0\SCons\Script\SConscript.py", line 676:
    return method(*args, **kw)
  File "C:\Users\myuser\.platformio\packages\tool-scons\scons-local-4.7.0\SCons\Script\SConscript.py", line 612:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\myuser\.platformio\packages\tool-scons\scons-local-4.7.0\SCons\Script\SConscript.py", line 279:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\Users\myuser\.platformio\platforms\espressif32\builder\frameworks\arduino.py", line 36:
    SConscript(
  File "C:\Users\myuser\.platformio\packages\tool-scons\scons-local-4.7.0\SCons\Script\SConscript.py", line 676:
    return method(*args, **kw)
  File "C:\Users\myuser\.platformio\packages\tool-scons\scons-local-4.7.0\SCons\Script\SConscript.py", line 612:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\myuser\.platformio\packages\tool-scons\scons-local-4.7.0\SCons\Script\SConscript.py", line 279:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\Users\myuser\.platformio\packages\framework-arduinoespressif32\tools\platformio-build.py", line 40:
    FRAMEWORK_LIBS_DIR = platform.get_package_dir("framework-arduinoespressif32-libs")
  File "C:\Users\myuser\.platformio\penv\Lib\site-packages\platformio\platform\_packages.py", line 32:
    pkg = self.get_package(name)
  File "C:\Users\myuser\.platformio\penv\Lib\site-packages\platformio\platform\_packages.py", line 29:
    return self.pm.get_package(spec or self.get_package_spec(name))
  File "C:\Users\myuser\.platformio\penv\Lib\site-packages\platformio\platform\_packages.py", line 21:
    owner=self.packages[name].get("owner"),

Do you have any idea what could be wrong?
Thank you.

What’s the reason for this?

If it is a standard Arduino project: remove these lines.

I set framework-arduinoespressif32 = arduino-esp32#3.0.0-rc1 because of this issuse:

and of this comment

Try the tasmota fork. This has Arduino 3.x implemented. See

Txs. I’ll try.

But now there is another problem.
I’ve clean folder “c:\Users\myuser.platformio\packages” and created a dummy project from scratch.

[env:arduino_nano_esp32]
platform = espressif32
board = arduino_nano_esp32
framework = arduino

and I’m not able to build it:

c:/users/myuser/.platformio/packages/toolchain-xtensa-esp32s3/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld.exe: .pio/build/arduino_nano_esp32/FrameworkArduinoVariant/dfu_callbacks.cpp.o:(.literal._ZN12_GLOBAL__N_110MD5Builder8getCharsEPc+0x0): undefined reference to `(anonymous namespace)::HEXBuilder::bytes2hex(char*, unsigned int, unsigned char const*, unsigned int)'
c:/users/myuser/.platformio/packages/toolchain-xtensa-esp32s3/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld.exe: .pio/build/arduino_nano_esp32/FrameworkArduinoVariant/dfu_callbacks.cpp.o:(.literal._ZN12_GLOBAL__N_110MD5Builder12addHexStringEPKc+0x0): undefined reference to `(anonymous namespace)::HEXBuilder::hex2bytes(unsigned char*, unsigned int, char const*)'
c:/users/myuser/.platformio/packages/toolchain-xtensa-esp32s3/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld.exe: .pio/build/arduino_nano_esp32/FrameworkArduinoVariant/dfu_callbacks.cpp.o: in function `(anonymous namespace)::MD5Builder::getChars(char*)':
C:/Users/myuser/.platformio/packages/framework-arduinoespressif32/cores/esp32/md5builder.cpp:92: undefined reference to `(anonymous namespace)::HEXBuilder::bytes2hex(char*, unsigned int, unsigned char const*, unsigned int)'      
c:/users/myuser/.platformio/packages/toolchain-xtensa-esp32s3/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld.exe: .pio/build/arduino_nano_esp32/FrameworkArduinoVariant/dfu_callbacks.cpp.o: in function `(anonymous namespace)::MD5Builder::addHexString(char const*)':
C:/Users/myuser/.platformio/packages/framework-arduinoespressif32/cores/esp32/md5builder.cpp:39: undefined reference to `(anonymous namespace)::HEXBuilder::hex2bytes(unsigned char*, unsigned int, char const*)'

Also on “Problem” window, PlatformIO reports:

Cannot find “C:/Users/myuser/.platformio/packages/framework-arduinoespressif32/tools/esp32-arduino-libs/esp32s3/include/esp_system/port/soc”

But that’s not the Tasmota Fork.
Didn’t you require Arduino 3.x ?

I haven’t tried it because I’ll wait for official support.

“Didn’t you require Arduino 3.x ?” Yes, but there where some build issues and I tried to make a simple project using default settings.

I managed to build the “dummy” project with

[env:arduino_nano_esp32]
platform = espressif32
board = arduino_nano_esp32
framework = arduino

only after I cleared the

c:\Users\myuser.platformio.cache
c:\Users\myuser.platformio\packages
folders.

For the same dummy project I’ve changed to

platform=https://github.com/tasmota/platform-espressif32.git#Arduino/IDF5

and there is the same link error:

c:/users/myuser/.platformio/packages/toolchain-xtensa-esp32s3/bin/…/lib/gcc/xtensa-esp32s3-elf/12.2.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld.exe: .pio/build/arduino_nano_esp32/FrameworkArduinoVariant/dfu_callbacks.cpp.o:(.literal._ZN12_GLOBAL__N_110MD5Builder8getCharsEPc+0x0): undefined reference to `(anonymous namespace)::HEXBuilder::bytes2hex(char*, unsigned int, unsigned char const*, unsigned int)' c:/users/myuser/.platformio/packages/toolchain-xtensa-esp32s3/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld.exe: .pio/build/arduino_nano_esp32/FrameworkArduinoVariant/dfu_callbacks.cpp.o:(.literal._ZN12_GLOBAL__N_110MD5Builder12addHexStringEPKc+0x0): undefined reference to ` (anonymous namespace)::HEXBuilder::hex2bytes(unsigned char*, unsigned int, char const*)’
c:/users/myuser/.platformio/packages/toolchain-xtensa-esp32s3/bin/…/lib/gcc/xtensa-esp32s3-elf/12.2.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld.exe: .pio/build/arduino_nano_esp32/FrameworkArduinoVariant/dfu_callbacks.cpp.o: in function `(anonymous`.............

Now, even if I rollback the platform to platform=espressif32 the project dependencies still point to Arduino3.x

see

As far as I know, not everything is implemented in the Tasmota fork.
I wait for the official support or use the ArduinoIDE until then.

Sure, it will use the latest available version, which is still the Tasmota fork on your system.

Either you provide a specific version
platform = espressif32 @ 6.6.0
or you remove the platforms except Espressif32 version 6.6.0:

Click on PlatformIO Icon and choose “PIO Home / Platforms”
Then remove all Espressif32 frameworks except Version 6.6.0