[SOLVED] Confusing errors after update of espressif32 core

I today updated the espressif32 core to 6.6.0. After that I got several unexpected error messages when compiling unmodified code I cannot resolve any more.

  • First was a set of compiler errors mentioning loop() and setup() being not resolvable.
 *  Executing task: platformio run 

Processing WiFiRTUbridge (platform: espressif32; board: az-delivery-devkit-v4; framework: arduino)
------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/az-delivery-devkit-v4.html
PLATFORM: Espressif 32 (6.6.0) > AZ-Delivery ESP-32 Dev Kit C V4
HARDWARE: ESP32 240MHz, 520KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES: 
 - framework-arduinoespressif32 @ 3.20014.231204 (2.0.14) 
 - tool-esptoolpy @ 1.40501.0 (4.5.1) 
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ deep+, Compatibility ~ soft
Found 35 compatible libraries
Scanning dependencies...
Dependency Graph
|-- AsyncTCP @ 1.1.1
|-- Ethernet @ 2.0.0+sha.c9399a9
Building in release mode
Compiling .pio/build/WiFiRTUbridge/src/CoilData.cpp.o
Compiling .pio/build/WiFiRTUbridge/src/Logging.cpp.o
Compiling .pio/build/WiFiRTUbridge/src/ModbusClient.cpp.o
Compiling .pio/build/WiFiRTUbridge/src/ModbusClientRTU.cpp.o
Compiling .pio/build/WiFiRTUbridge/src/ModbusClientTCP.cpp.o
Compiling .pio/build/WiFiRTUbridge/src/ModbusClientTCPasync.cpp.o
Compiling .pio/build/WiFiRTUbridge/src/ModbusMessage.cpp.o
Compiling .pio/build/WiFiRTUbridge/src/ModbusServer.cpp.o
Compiling .pio/build/WiFiRTUbridge/src/ModbusServerRTU.cpp.o
Compiling .pio/build/WiFiRTUbridge/src/ModbusServerTCPasync.cpp.o
Compiling .pio/build/WiFiRTUbridge/src/ModbusTypeDefs.cpp.o
Compiling .pio/build/WiFiRTUbridge/src/RTUutils.cpp.o
Building .pio/build/WiFiRTUbridge/bootloader.bin
Generating partitions .pio/build/WiFiRTUbridge/partitions.bin
esptool.py v4.5.1
Creating esp32 image...
Merged 1 ELF section
Successfully created esp32 image.
Compiling .pio/build/WiFiRTUbridge/libdf0/AsyncTCP/AsyncTCP.cpp.o
Compiling .pio/build/WiFiRTUbridge/lib27e/SPI/SPI.cpp.o
Compiling .pio/build/WiFiRTUbridge/lib0b3/Ethernet/Dhcp.cpp.o
Compiling .pio/build/WiFiRTUbridge/lib0b3/Ethernet/Dns.cpp.o
Compiling .pio/build/WiFiRTUbridge/lib0b3/Ethernet/Ethernet.cpp.o
Compiling .pio/build/WiFiRTUbridge/lib0b3/Ethernet/EthernetClient.cpp.o
Compiling .pio/build/WiFiRTUbridge/lib0b3/Ethernet/EthernetServer.cpp.o
Compiling .pio/build/WiFiRTUbridge/lib0b3/Ethernet/EthernetUdp.cpp.o
Compiling .pio/build/WiFiRTUbridge/lib0b3/Ethernet/socket.cpp.o
Compiling .pio/build/WiFiRTUbridge/lib0b3/Ethernet/utility/w5100.cpp.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/Esp.cpp.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/FirmwareMSC.cpp.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/FunctionalInterrupt.cpp.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/HWCDC.cpp.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/HardwareSerial.cpp.o
Archiving .pio/build/WiFiRTUbridge/lib27e/libSPI.a
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/IPAddress.cpp.o
Indexing .pio/build/WiFiRTUbridge/lib27e/libSPI.a
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/IPv6Address.cpp.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/MD5Builder.cpp.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/Print.cpp.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/Stream.cpp.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/StreamString.cpp.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/Tone.cpp.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/USB.cpp.o
Archiving .pio/build/WiFiRTUbridge/libdf0/libAsyncTCP.a
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/USBCDC.cpp.o
Indexing .pio/build/WiFiRTUbridge/libdf0/libAsyncTCP.a
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/USBMSC.cpp.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/WMath.cpp.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/WString.cpp.o
Archiving .pio/build/WiFiRTUbridge/lib0b3/libEthernet.a
Indexing .pio/build/WiFiRTUbridge/lib0b3/libEthernet.a
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/base64.cpp.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/cbuf.cpp.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-adc.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-bt.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-cpu.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-dac.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-gpio.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-i2c-slave.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-i2c.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-ledc.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-matrix.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-misc.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-psram.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-rgb-led.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-rmt.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-sigmadelta.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-spi.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-time.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-timer.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-tinyusb.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-touch.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/esp32-hal-uart.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/firmware_msc_fat.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/libb64/cdecode.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/libb64/cencode.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/main.cpp.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/stdlib_noniso.c.o
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/wiring_pulse.c.o
/home/micha/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c: In function 'uartSetPins':
/home/micha/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c:153:9: warning: 'return' with no value, in function returning non-void
         return;
         ^~~~~~
/home/micha/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c:149:6: note: declared here
 bool uartSetPins(uint8_t uart_num, int8_t rxPin, int8_t txPin, int8_t ctsPin, int8_t rtsPin)
      ^~~~~~~~~~~
Compiling .pio/build/WiFiRTUbridge/FrameworkArduino/wiring_shift.c.o
Archiving .pio/build/WiFiRTUbridge/libFrameworkArduino.a
Indexing .pio/build/WiFiRTUbridge/libFrameworkArduino.a
Linking .pio/build/WiFiRTUbridge/firmware.elf
/home/micha/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/WiFiRTUbridge/libFrameworkArduino.a(main.cpp.o):(.literal._Z8loopTaskPv+0x8): undefined reference to `setup()'
/home/micha/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/WiFiRTUbridge/libFrameworkArduino.a(main.cpp.o):(.literal._Z8loopTaskPv+0xc): undefined reference to `loop()'
/home/micha/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/WiFiRTUbridge/libFrameworkArduino.a(main.cpp.o): in function `loopTask(void*)':
/home/micha/.platformio/packages/framework-arduinoespressif32/cores/esp32/main.cpp:42: undefined reference to `setup()'
/home/micha/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/micha/.platformio/packages/framework-arduinoespressif32/cores/esp32/main.cpp:48: undefined reference to `loop()'
collect2: error: ld returned 1 exit status
*** [.pio/build/WiFiRTUbridge/firmware.elf] Error 1
================================================= [FAILED] Took 4.67 seconds =================================================
  • Did a clean
  • Next was some error about multiple cores on the system, so I tried to do pio run -t clean in a terminal.
  • Now pio was not found, suggestion was to do sudo apt install platformio
  • So I did, but when running the pio run -t clean again, I got this:
$ pio run -t clean
*********************************************************************************************************************************************
Obsolete PIO Core v4.3.4 is used (previous was 6.1.15)
Please remove multiple PIO Cores from a system:
https://docs.platformio.org/page/faq.html#multiple-pio-cores-in-a-system
*********************************************************************************************************************************************
Warning! Ignore unknown configuration option `build_src_filter` in section [env:WiFiRTUbridge]
Processing WiFiRTUbridge (platform: espressif32; board: az-delivery-devkit-v4; framework: arduino)
---------------------------------------------------------------------------------------------------------------------------------------------
PlatformManager: Installing espressif32
espressif32 @ 6.6.0 is already installed
Error: Unknown development platform 'espressif32'

What?!?

[Update] Did an uninstall of core version 6.6.0, reinstalled 6.5.0 (that I had before), but the errors are remaining.

Never mind… The problem sat in front of the keyboard, as ever.

I had the path wrong to the main.cpp containing the loop() and sketch() functions. Note to myself. “bridge” is different from “Bridge”… :roll_eyes:

1 Like