platformio / platform-espressif32

Espressif 32: development platform for PlatformIO
https://registry.platformio.org/platforms/platformio/espressif32
Apache License 2.0
897 stars 604 forks source link

Bad CPU type in executable - new M1 Pro #724

Closed 84ace closed 2 years ago

84ace commented 2 years ago

Hi, I have a brand new Apple M1 Pro Macbook with VSCode and Platformio Installed. Just added my project and went to build it and this is the result:

Processing esp32dev (platform: https://github.com/platformio/platform-espressif32.git; board: esp32dev; framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Tool Manager: Installing platformio/toolchain-xtensa32 @ ~2.50200.0
Unpacking  [####################################]  100%
Tool Manager: toolchain-xtensa32 @ 2.50200.97 has been installed!
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html
PLATFORM: Espressif 32 (3.5.0+sha.d93c9ef) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (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.10006.210326 (1.0.6) 
 - tool-esptoolpy 1.30100.210531 (3.1.0) 
 - toolchain-xtensa32 2.50200.97 (5.2.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 39 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <AsyncTCP-esphome> 1.2.2
|-- <AsyncElegantOTA> 2.2.6
|   |-- <AsyncTCP-esphome> 1.2.2
|   |-- <ESPAsyncWebServer-esphome> 2.1.0
|   |   |-- <AsyncTCP-esphome> 1.2.2
|   |   |-- <FS> 1.0
|   |   |-- <WiFi> 1.0
|   |-- <FS> 1.0
|   |-- <Update> 1.0
|   |-- <WiFi> 1.0
|-- <ESP_DoubleResetDetector> 1.2.1
|   |-- <LittleFS_esp32> 1.0.6
|   |   |-- <FS> 1.0
|   |-- <SPIFFS> 1.0
|   |   |-- <FS> 1.0
|   |-- <EEPROM> 1.0.3
|   |-- <FS> 1.0
|-- <ESPAsyncWebServer-esphome> 2.1.0
|   |-- <AsyncTCP-esphome> 1.2.2
|   |-- <FS> 1.0
|   |-- <WiFi> 1.0
|-- <ESP32TimerInterrupt> 1.5.0
|-- <SparkFun I2C GPS Reading and Control> 1.0.4
|   |-- <Wire> 1.0.1
|-- <TinyGPSPlus> 1.0.3
|-- <LittleFS_esp32> 1.0.6
|   |-- <FS> 1.0
|-- <Uptime Library> 1.0.0
|-- <WiFi> 1.0
|-- <FS> 1.0
|-- <Preferences> 1.0
|-- <SD(esp32)> 1.0.5
|   |-- <FS> 1.0
|   |-- <SPI> 1.0
|-- <SPI> 1.0
|-- <SimpleTimer> 1.0.0
|-- <Wire> 1.0.1
Building in release mode
Just tried to upload files to LittleFS partition...
Compiling .pio/build/esp32dev/src/main.cpp.o
sh: /Users/acea/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: Bad CPU type in executable
Compiling .pio/build/esp32dev/lib236/AsyncTCP-esphome/AsyncTCP.cpp.o
sh: /Users/acea/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: Bad CPU type in executable
Compiling .pio/build/esp32dev/libd80/FS/FS.cpp.o
sh: /Users/acea/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: Bad CPU type in executable
Compiling .pio/build/esp32dev/libd80/FS/vfs_api.cpp.o
sh: /Users/acea/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: Bad CPU type in executable
Compiling .pio/build/esp32dev/lib14e/WiFi/ETH.cpp.o
sh: /Users/acea/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: Bad CPU type in executable
Compiling .pio/build/esp32dev/lib14e/WiFi/WiFi.cpp.o
sh: /Users/acea/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: Bad CPU type in executable
Compiling .pio/build/esp32dev/lib14e/WiFi/WiFiAP.cpp.o
sh: /Users/acea/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: Bad CPU type in executable
Compiling .pio/build/esp32dev/lib14e/WiFi/WiFiClient.cpp.o
sh: /Users/acea/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: Bad CPU type in executable
Compiling .pio/build/esp32dev/lib14e/WiFi/WiFiGeneric.cpp.o
sh: /Users/acea/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: Bad CPU type in executable
*** [.pio/build/esp32dev/src/main.cpp.o] Error 126
*** [.pio/build/esp32dev/lib236/AsyncTCP-esphome/AsyncTCP.cpp.o] Error 126
*** [.pio/build/esp32dev/libd80/FS/FS.cpp.o] Error 126
*** [.pio/build/esp32dev/libd80/FS/vfs_api.cpp.o] Error 126
*** [.pio/build/esp32dev/lib14e/WiFi/ETH.cpp.o] Error 126
*** [.pio/build/esp32dev/lib14e/WiFi/WiFi.cpp.o] Error 126
*** [.pio/build/esp32dev/lib14e/WiFi/WiFiAP.cpp.o] Error 126
*** [.pio/build/esp32dev/lib14e/WiFi/WiFiClient.cpp.o] Error 126
*** [.pio/build/esp32dev/lib14e/WiFi/WiFiGeneric.cpp.o] Error 126
Compiling .pio/build/esp32dev/lib14e/WiFi/WiFiMulti.cpp.o
sh: /Users/acea/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: Bad CPU type in executable
*** [.pio/build/esp32dev/lib14e/WiFi/WiFiMulti.cpp.o] Error 126
============================================================================ [FAILED] Took 3.81 seconds ============================================================================
The terminal process "platformio 'run'" terminated with exit code: 1.

Terminal will be reused by tasks, press any key to close it.

Google isn't being much help. Rosetta isn't installed.

Thanks! Acea.

Jason2866 commented 2 years ago

Without Rosetta it will not work. There is no native Apple silicon support form the used espressif framework. Platformio runs well with Rosetta (use it with Mac M1 Air).

84ace commented 2 years ago

Without Rosetta it will not work. There is no native Apple silicon support form the used espressif framework. Platformio runs well with Rosetta (use it with Mac M1 Air).

Well, that explains my problem. Thanks for the info.

84ace commented 2 years ago

Rosetta must be installed as there is no native support for the M1.