Newbie unable to upload via ESPHome

I should start by saying that I am very new to both home assistant and ESPHome. I’ve been learning SoC programming for a few months now and have successfully made sensors with arduino & ESP32 boards. However, I’m trying to use ESPHome to integrate these into my overall monitoring.

Through ESPHome, I’m able to initial the board with no issue. In Home Assistant, I can incorporate it into my overall system. BUT! When I try and update the board wirelessly (or any other method, for that matter) it fails, and I can’t figure out why. I’ve tried different versions, different frameworks, etc. but no matter what I do, I get the same error.

I’m running Home Assistant off of an old Raspberry Pi 3 (I have a 4 I’m going to move it to, once I find a new home for my media server), and developing on an ARM Mac. I know the processor architecture has been an issue for me before, so I wasn’t sure if that was the problem with my current situation.

Any help would be greatly appreciated!

/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: cannot find -lnosys
collect2: error: ld returned 1 exit status
*** [/data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/firmware.elf] Error 1

Here is my config file:

esphome:
  name: esphome-web-47c45c
  
esp32:
  board: nodemcu-32s
  framework:
   type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "some encryption key"

ota:


wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esphome-Web-47C45C"
    password: "a password"

And this is the log with the error at the very bottom.

INFO Reading configuration /config/esphome/esphome-web-47c45c.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing esphome-web-47c45c (board: nodemcu-32s; framework: arduino; platform: platformio/espressif32 @ 5.2.0)
--------------------------------------------------------------------------------
Removing unused dependencies...
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch3
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
Dependency Graph
|-- WiFi @ 2.0.0
|-- ESPmDNS @ 2.0.0
|-- Update @ 2.0.0
|-- noise-c @ 0.1.4
|   |-- libsodium @ 1.10018.1
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/api/api_connection.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/api/api_frame_helper.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/api/api_pb2.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/api/api_pb2_service.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/api/api_server.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/api/list_entities.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/api/proto.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/api/subscribe_state.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/api/user_services.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/esp32/core.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/esp32/gpio.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/esp32/preferences.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/logger/logger.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/md5/md5.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/mdns/mdns_component.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/mdns/mdns_esp32.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/mdns/mdns_esp8266.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/mdns/mdns_rp2040.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/network/util.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/ota/ota_backend_arduino_esp32.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/ota/ota_backend_arduino_esp8266.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/ota/ota_backend_arduino_rp2040.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/ota/ota_backend_esp_idf.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/ota/ota_component.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/socket/bsd_sockets_impl.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/socket/socket.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/wifi/wifi_component.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/wifi/wifi_component_esp32_arduino.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/wifi/wifi_component_esp8266.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/wifi/wifi_component_esp_idf.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/components/wifi/wifi_component_pico_w.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/core/application.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/core/color.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/core/component.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/core/component_iterator.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/core/controller.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/core/entity_base.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/core/helpers.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/core/log.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/core/scheduler.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/esphome/core/util.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/src/main.cpp.o
Building /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/bootloader.bin
Creating esp32 image...
Successfully created esp32 image.
Generating partitions /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/partitions.bin
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib64d/WiFi/WiFi.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib64d/WiFi/WiFiAP.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib64d/WiFi/WiFiClient.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib64d/WiFi/WiFiGeneric.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib64d/WiFi/WiFiMulti.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib64d/WiFi/WiFiSTA.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib64d/WiFi/WiFiScan.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib64d/WiFi/WiFiServer.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib64d/WiFi/WiFiUdp.cpp.o
Archiving /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib64d/libWiFi.a
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib915/ESPmDNS/ESPmDNS.cpp.o
Archiving /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib915/libESPmDNS.a
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libbc6/Update/HttpsOTAUpdate.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libbc6/Update/Updater.cpp.o
Archiving /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libbc6/libUpdate.a
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/crypto_core/ed25519/core_ed25519.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/crypto_core/ed25519/core_ristretto255.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/crypto_hash/crypto_hash.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/crypto_hash/sha256/hash_sha256.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/crypto_onetimeauth/crypto_onetimeauth.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/crypto_scalarmult/crypto_scalarmult.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/crypto_stream/chacha20/stream_chacha20.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/crypto_stream/crypto_stream.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/crypto_verify/sodium/verify.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/sodium/codecs.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/sodium/core.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/sodium/runtime.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium/sodium/utils.c.o
Archiving /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libdca/libsodium.a
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/backend/openssl/cipher-aesgcm.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/backend/ref/cipher-aesgcm.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/backend/ref/cipher-chachapoly.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/backend/ref/dh-curve25519.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/backend/ref/hash-blake2b.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/backend/ref/hash-blake2s.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/backend/ref/hash-sha256.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/backend/sodium/cipher-aesgcm.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/backend/sodium/cipher-chachapoly.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/backend/sodium/dh-curve25519.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/backend/sodium/hash-blake2b.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/backend/sodium/hash-sha256.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/crypto/aes/rijndael-alg-fst.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/crypto/blake2/blake2b.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/crypto/blake2/blake2s.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/crypto/chacha/chacha.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/crypto/donna/curve25519-donna-c64.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/crypto/donna/curve25519-donna.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/crypto/donna/poly1305-donna.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/crypto/sha2/sha256.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/crypto/sha2/sha512.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/crypto/x25519/x25519.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/protocol/cipherstate.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/protocol/dhstate.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/protocol/errors.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/protocol/handshakestate.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/protocol/hashstate.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/protocol/internal.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/protocol/names.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/protocol/patterns.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/protocol/rand_os.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/protocol/rand_sodium.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/protocol/randstate.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/protocol/signstate.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/protocol/symmetricstate.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/noise-c/protocol/util.c.o
Archiving /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/lib17f/libnoise-c.a
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/Esp.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/FirmwareMSC.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/FunctionalInterrupt.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/HWCDC.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/HardwareSerial.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/IPAddress.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/IPv6Address.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/MD5Builder.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/Print.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/Stream.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/StreamString.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/Tone.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/USB.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/USBCDC.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/USBMSC.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/WMath.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/WString.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/base64.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/cbuf.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-adc.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-bt.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-cpu.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-dac.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-gpio.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-i2c-slave.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-i2c.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-ledc.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-matrix.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-misc.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-psram.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-rgb-led.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-rmt.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-sigmadelta.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-spi.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-time.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-timer.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-tinyusb.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-touch.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/esp32-hal-uart.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/firmware_msc_fat.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/libb64/cdecode.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/libb64/cencode.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/main.cpp.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/stdlib_noniso.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/wiring_pulse.c.o
Compiling /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/FrameworkArduino/wiring_shift.c.o
Archiving /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/libFrameworkArduino.a
Linking /data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/firmware.elf
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: cannot find -lnosys
collect2: error: ld returned 1 exit status
*** [/data/esphome-web-47c45c/.pioenvs/esphome-web-47c45c/firmware.elf] Error 1
========================= [FAILED] Took 488.43 seconds =========================

What are you running esphome on hardware-wise? It runs out of RAM on a 512M ram raspberry pi, and perhaps even on 1G ram (not sure on that).

What environment are you running HA and ESPhome under? I assume HAOS image installed on your Pi and the ESPhome add-on? What versions?

I’m using an RPi 3b, which has 1GB of RAM.

I’m pretty sure it’s the HAOS that I’m running. I followed the instructions on their site to download and install the Raspberry Pi version of the OS. Raspberry Pi - Home Assistant

Hardware:
RPi 3b, 1gb RAM

Software:
Home Assistant 2023.2.5 (used the RPi 3 image, not the 4)
Supervisor 2023.01.1
Operating System 9.5
Frontend 20230202.0 - latest

Add-ons:
MQTT Broker 6.1.3 (installed, but disabled)
ESPHome 2023.2.3

Yes, that is HAOS. I suspect you are running out of RAM, particularly as it is crashing on linking. Linking is memory intensive.

Try compiling on another computer, or (if it is possible on HAOS) add some swap.

Yes what Nick said. If you follow the instructions for a Mac or Windows ESPHome install (I run it under venv on Mac) then you should have better luck. The advantage of doing it that way is that you can install whatever version of ESPHome you like.

Once you get your Pi 4 stood up you should be fine. I run mine on a Pi 4 with only 2Gb of RAM and very rarely have compile issues.

Yes! That did the trick. I’m now running home assistant on my RPi 4b and it’s running smoothly and I can build & upload ESP images with no issue. Thank you both for your guidance!