Async compiling error for ESP32 (RF receiver and sender)

I recently built a simple RF receiver and sender coupled to an ESP32, which I tried to flash, but does not compile on ESPhome 1.13.6.

Yesterday I tried flashing (and compiling) it on HA 0.94.0, but it gave async errors. After seeing github issue I thought the easiest fix was to update HA to 0.97.1.

Now at 0.97.1, it still will not compile. The total log of ESPhome is given below. What should I do?

INFO Reading configuration...
INFO Generating C++ source...
INFO Compiling app...
INFO Running:  platformio run -d /config/esphome/esp32_1
Processing esp32_1 (platform: [email protected]; framework: arduino; board: esp32doit-devkit-v1)
--------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32doit-devkit-v1.html
PLATFORM: Espressif 32 > DOIT ESP32 DEVKIT V1
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)
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 30 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <ArduinoJson-esphomelib> 5.13.3
|-- <AsyncMqttClient> 0.8.2
|   |-- <AsyncTCP> 1.1.0
|-- <ESP Async WebServer> 1.1.1
|   |-- <AsyncTCP> 1.1.0
|   |-- <WiFi> 1.0
|   |-- <FS> 1.0
|   |-- <ArduinoJson-esphomelib> 5.13.3
|-- <ESPmDNS> 1.0
|   |-- <WiFi> 1.0
|-- <FS> 1.0
|-- <Preferences> 1.0
|-- <Update> 1.0
|-- <WiFi> 1.0
Compiling /data/esp32_1/.pioenvs/esp32_1/lib7e1/AsyncTCP_ID1826/AsyncTCP.cpp.o
Archiving /data/esp32_1/.pioenvs/esp32_1/libc92/libAsyncMqttClient_ID346.a
Compiling /data/esp32_1/.pioenvs/esp32_1/lib090/WiFi/ETH.cpp.o
Compiling /data/esp32_1/.pioenvs/esp32_1/lib090/WiFi/WiFi.cpp.o
Compiling /data/esp32_1/.pioenvs/esp32_1/lib090/WiFi/WiFiAP.cpp.o
/data/esp32_1/.piolibdeps/AsyncTCP_ID1826/src/AsyncTCP.cpp: In function 'bool _start_async_task()':
/data/esp32_1/.piolibdeps/AsyncTCP_ID1826/src/AsyncTCP.cpp:205:141: error: 'xTaskCreateUniversal' was not declared in this scope
xTaskCreateUniversal(_async_service_task, "async_tcp", 8192 * 2, NULL, 3, &_async_service_task_handle, CONFIG_ASYNC_TCP_RUNNING_CORE);
^
* [/data/esp32_1/.pioenvs/esp32_1/lib7e1/AsyncTCP_ID1826/AsyncTCP.cpp.o] Error 1
========================== [ERROR] Took 35.03 seconds ==========================

My current ESPhome configuration for the ESP32 is below.

esphome:
  name: esp32_1
  platform: ESP32
  #board: esp-wrover-kit
  board: esp32doit-devkit-v1

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_pass

mqtt:
  broker: !secret mosquitto_ip
  username: !secret mosquitto_login
  password: !secret mosquitto_pass

# Enable logging
logger:

# Enable Home Assistant API
# api:

web_server:
  port: 80


# Example configuration entry
remote_receiver:
  pin: GPIO27
  dump: all

remote_transmitter:
  pin: GPIO12
  carrier_duty_percent: 50%

# Individual switches
switch:
  # - platform: remote_transmitter
  #   name: "Test Panasonic TV Off"
  #   panasonic:
  #     address: 0x4004
  #     command: 0x100BCBD
  - platform: template
    name: Test Panasonic TV Off
    turn_on_action:
      remote_transmitter.transmit_panasonic:
        address: 0x4004
        command: 0x100BCBD

When deleting everything in directory config\esphome\esp32_1\src\esphome\components this is the error output

INFO Reading configuration /config/esphome/esp32_1.yaml...
INFO Generating C++ source...
INFO Compiling app...
INFO Running:  platformio run -d /config/esphome/esp32_1
Processing esp32_1 (platform: [email protected]; framework: arduino; board: esp32doit-devkit-v1)
--------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32doit-devkit-v1.html
PLATFORM: Espressif 32 1.6.0 > DOIT ESP32 DEVKIT V1
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: toolchain-xtensa32 2.50200.80 (5.2.0), framework-arduinoespressif32 2.10001.190111 (1.0.1), tool-esptoolpy 1.20600.0 (2.6.0)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 27 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <AsyncTCP> 1.0.3
|-- <WiFi> 1.0
|-- <ESPmDNS> 1.0
|   |-- <WiFi> 1.0
Compiling /data/esp32_1/.pioenvs/esp32_1/src/esphome/components/json/json_util.cpp.o
Compiling /data/esp32_1/.pioenvs/esp32_1/src/esphome/components/logger/logger.cpp.o
Compiling /data/esp32_1/.pioenvs/esp32_1/src/esphome/components/mqtt/custom_mqtt_device.cpp.o
Compiling /data/esp32_1/.pioenvs/esp32_1/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o
In file included from src/esphome/components/json/json_util.cpp:1:0:
src/esphome/components/json/json_util.h:4:25: fatal error: ArduinoJson.h: No such file or directory

*********************************************************************
* Looking for ArduinoJson.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:ArduinoJson.h"
* Web  > https://platformio.org/lib/search?query=header:ArduinoJson.h
*
*********************************************************************

compilation terminated.
*** [/data/esp32_1/.pioenvs/esp32_1/src/esphome/components/json/json_util.cpp.o] Error 1
In file included from src/esphome/components/mqtt/mqtt_client.h:7:0,
                 from src/esphome/components/mqtt/mqtt_component.h:4,
                 from src/esphome/components/mqtt/mqtt_binary_sensor.h:7,
                 from src/esphome/components/mqtt/mqtt_binary_sensor.cpp:1:
src/esphome/components/json/json_util.h:4:25: fatal error: ArduinoJson.h: No such file or directory

*********************************************************************
* Looking for ArduinoJson.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:ArduinoJson.h"
* Web  > https://platformio.org/lib/search?query=header:ArduinoJson.h
*
*********************************************************************

compilation terminated.
*** [/data/esp32_1/.pioenvs/esp32_1/src/esphome/components/mqtt/mqtt_binary_sensor.cpp.o] Error 1
In file included from src/esphome/components/mqtt/mqtt_client.h:7:0,
                 from src/esphome/components/mqtt/custom_mqtt_device.h:4,
                 from src/esphome/components/mqtt/custom_mqtt_device.cpp:1:
src/esphome/components/json/json_util.h:4:25: fatal error: ArduinoJson.h: No such file or directory

*********************************************************************
* Looking for ArduinoJson.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:ArduinoJson.h"
* Web  > https://platformio.org/lib/search?query=header:ArduinoJson.h
*
*********************************************************************

compilation terminated.
*** [/data/esp32_1/.pioenvs/esp32_1/src/esphome/components/mqtt/custom_mqtt_device.cpp.o] Error 1
========================== [ERROR] Took 16.12 seconds ==========================

My current config starts with

esphome:
  name: esp32_1
  platform: ESP32
  #board: esp-wrover-kit
  board: esp32doit-devkit-v1
  platformio_options:
    lib_deps: AsyncTCP@<1.1.0

That won’t help. esphome runs completely separately to home assistant.

This issue is fixed in dev. You can wait for the next release or switch branches/containers.

(Sorry for the necro, but posting for someone looking for the solution.) In the end it came down to a shortage of RAM on my RPi. Shutting down some containers allowed it to compile and upload.