esp-at: Build failed when enabled ethernet
I’m trying to build a custom AT command firmware to enable Ethernet.
I set it like this in menuconfig.
Component Config->AT->AT Ethernet Support [*]
If you do not check AT ethernet support, the build will succeed, but if you check it, the build will not be possible.
esp-at repository version:
~/esp-at$ git log -n 1 --format=%H
a1f3fc0c45d3935e99e52c44bd98b2eb5bd63c95
Build logs:
module_name WROVER-32
platform_name=ESP32,module_name=WROVER-32
Checking Python dependencies...
Python requirements from /home/ubuntu/esp-at/esp-idf/requirements.txt are satisfied.
...
[100%] Linking CXX executable esp-at.elf
/home/ubuntu/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld: ../components/at/lib/libesp32_at_core_silence.a(at_ethCmd.c.obj):(.literal.esp_at_eth_cmd_regist+0xc): undefined reference to `esp_at_get_eth_default_config'
/home/ubuntu/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld: ../components/at/lib/libesp32_at_core_silence.a(at_ethCmd.c.obj): in function `esp_at_eth_cmd_regist':
(.text.esp_at_eth_cmd_regist+0x5): undefined reference to `esp_at_get_eth_default_config'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/esp-at.elf.dir/build.make:269: esp-at.elf] Error 1
make[1]: *** [CMakeFiles/Makefile2:1779: CMakeFiles/esp-at.elf.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
make failed with exit code 2
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 16 (2 by maintainers)
@katodo @jitenshap Here is a workaround for AT ethernet compile. Please modify: https://github.com/espressif/esp-at/blob/master/components/at/CMakeLists.txt#L3 to
That is, appending the
libmain.ato at core require_components, so thatlibesp*at.acan link to implement ofesp_at_get_eth_default_config, which defined in libmain.a.At the same time,
esp-atwill simply and adjust the directory structure to facilitate reasonable code management.