I just tried that and it was able to proceed further but ultimately ended up with a different error:
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: missing --end-group; added as last command line option
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/m5stack-atom-echo-30ea40/src/main.o:(.literal._Z5setupv+0x48): undefined reference to `vtable for esphome::ESPHomeOTAComponent'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/m5stack-atom-echo-30ea40/src/main.o:(.literal._Z5setupv+0x48c): undefined reference to `esphome::ESPHomeOTAComponent::set_port(unsigned short)'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/m5stack-atom-echo-30ea40/src/main.o: in function `esphome::http_request::OtaHttpRequestComponent* esphome::Application::register_component<esphome::http_request::OtaHttpRequestComponent>(esphome::http_request::OtaHttpRequestComponent*)':
/data/build/m5stack-atom-echo-30ea40/src/esphome/core/application.h:191: undefined reference to `esphome::ESPHomeOTAComponent::set_port(unsigned short)'
collect2: error: ld returned 1 exit status
*** [.pioenvs/m5stack-atom-echo-30ea40/firmware.elf] Error 1
========================= [FAILED] Took 107.59 seconds =========================
I have the same issue. Interestingly, removing both the OTA and UPDATE sections results in the exact same error - I assume they’re pulled in from the linked file in the repository.