micro-ROS / micro_ros_espidf_component

micro-ROS ESP32 IDF component and sample code
Apache License 2.0
236 stars 52 forks source link

vscode+espidf Could not complete compilation Could not find rcl related files #154

Open arilink opened 1 year ago

arilink commented 1 year ago

Hardware : ESP32 ESP32 S3 RTOS:FreeRTOS ROS: ROS2 humble Development environment : Ubuntu 22.04LTS +VSCode +ESP IDF

  1. I installed ROS2 humble on Ubuntu and tested the example ROS2 is normal
  2. I pulled the code of the micro-ros setup through git and compiled and generated the agent, indicating that the colcon component is normal
  3. I used vscode+espidf to create the function of led, which can be compiled normally and completely, and esp32 works normally, indicating that vscode+espidf is normal
  4. I created a new project, then added the micro_ros_espidf component, and then set target can generate libmicroros.a normally, indicating that micro_ros_espidf compiles normally
  5. When I changed the function in the main function to micro ros transceiver and then compiled the whole project, the problem appeared../main/blink_example_main.c:11:10: fatal error: rcl/rcl.h: No such file or directory I don't know what's causing this problem, but I think I'm one step away from success
  6. I re-do the above operation on another computer. The problem is a bit different. Micro_ros_espidf does not generate libmicroros.a normally, but prompts clocon build failed (rcutils+7) How can I solve the above problem?
arilink commented 1 year ago
> Executing task: ninja  <

[0/2] Re-checking globbed directories...
[6/1042] Generating ../../partition_table/partition-table.bin
Partition table binary generated. Contents:
*******************************************************************************
# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,24K,
phy_init,data,phy,0xf000,4K,
factory,app,factory,0x10000,1M,
*******************************************************************************
[169/1042] Performing configure step for 'bootloader'
-- Found Git: /usr/bin/git (found version "2.34.1") 
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32
-- Project sdkconfig file /home/arilink/esp32_develop/microros-test04/sdkconfig
-- Adding linker script /home/arilink/esp/esp-idf/components/soc/esp32/ld/esp32.peripherals.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.api.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.rom.ld
-- Components: bootloader bootloader_support efuse esp32 esp_common esp_hw_support esp_rom esp_system esptool_py freertos hal log main micro-ecc newlib partition_table soc spi_flash xtensa
-- Component paths: /home/arilink/esp/esp-idf/components/bootloader /home/arilink/esp/esp-idf/components/bootloader_support /home/arilink/esp/esp-idf/components/efuse /home/arilink/esp/esp-idf/components/esp32 /home/arilink/esp/esp-idf/components/esp_common /home/arilink/esp/esp-idf/components/esp_hw_support /home/arilink/esp/esp-idf/components/esp_rom /home/arilink/esp/esp-idf/components/esp_system /home/arilink/esp/esp-idf/components/esptool_py /home/arilink/esp/esp-idf/components/freertos /home/arilink/esp/esp-idf/components/hal /home/arilink/esp/esp-idf/components/log /home/arilink/esp/esp-idf/components/bootloader/subproject/main /home/arilink/esp/esp-idf/components/bootloader/subproject/components/micro-ecc /home/arilink/esp/esp-idf/components/newlib /home/arilink/esp/esp-idf/components/partition_table /home/arilink/esp/esp-idf/components/soc /home/arilink/esp/esp-idf/components/spi_flash /home/arilink/esp/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: /home/arilink/esp32_develop/microros-test04/build/bootloader
[267/1042] Performing build step for 'bootloader'
[1/97] Generating project_elf_src_esp32.c
[2/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/lldesc.c.obj
[3/97] Building C object CMakeFiles/bootloader.elf.dir/project_elf_src_esp32.c.obj
[4/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/dac_periph.c.obj
[5/97] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mpu_hal.c.obj
[6/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/soc_include_legacy_warn.c.obj
[7/97] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/cpu_hal.c.obj
[8/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/gpio_periph.c.obj
[9/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/adc_periph.c.obj
[10/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/lcd_periph.c.obj
[11/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/interrupts.c.obj
[12/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/i2s_periph.c.obj
[13/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/i2c_periph.c.obj
[14/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/mcpwm_periph.c.obj
[15/97] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/wdt_hal_iram.c.obj
[16/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rmt_periph.c.obj
[17/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_io_periph.c.obj
[18/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/ledc_periph.c.obj
[19/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdio_slave_periph.c.obj
[20/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/pcnt_periph.c.obj
[21/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/timer_periph.c.obj
[22/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sigmadelta_periph.c.obj
[23/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdmmc_periph.c.obj
[24/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/spi_periph.c.obj
[25/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/uart_periph.c.obj
[26/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/touch_sensor_periph.c.obj
[27/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common_loader.c.obj
[28/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random_esp32.c.obj
[29/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_init.c.obj
[30/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj
[31/97] Building C object esp-idf/spi_flash/CMakeFiles/__idf_spi_flash.dir/esp32/spi_flash_rom_patch.c.obj
[32/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_mem.c.obj
[33/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj
[34/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_flash_config_esp32.c.obj
[35/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj
[36/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_flash.c.obj
[37/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/secure_boot.c.obj
[38/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj
[39/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse_esp32.c.obj
[40/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj
[41/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj
[42/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_loader.c.obj
[43/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_qio_mode.c.obj
[44/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console_loader.c.obj
[45/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj
[46/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_soc.c.obj
[47/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_panic.c.obj
[48/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_sha.c.obj
[49/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console.c.obj
[50/97] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj
[51/97] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_table.c.obj
[52/97] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_fields.c.obj
[53/97] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj
[54/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_esp32.c.obj
[55/97] Building C object esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/esp_err.c.obj
[56/97] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj
[57/97] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_utility.c.obj
[58/97] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api_key_esp32.c.obj
[59/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/compare_set.c.obj
[60/97] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj
[61/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/cpu_util.c.obj
[62/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_pm.c.obj
[63/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_clk_init.c.obj
[64/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_wdt.c.obj
[65/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_init.c.obj
[66/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/chip_info.c.obj
[67/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_time.c.obj
[68/97] Building C object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/xt_trax.c.obj
[69/97] Building C object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/eri.c.obj
[70/97] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_crc.c.obj
[71/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_sleep.c.obj
[72/97] Building ASM object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_longjmp.S.obj
[73/97] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_tjpgd.c.obj
[74/97] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_sys.c.obj
[75/97] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_uart.c.obj
[76/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_clk.c.obj
[77/97] Building C object esp-idf/esp_common/CMakeFiles/__idf_esp_common.dir/src/esp_err_to_name.c.obj
[78/97] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log.c.obj
[79/97] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_buffers.c.obj
[80/97] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_noos.c.obj
[81/97] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj
[82/97] Linking C static library esp-idf/log/liblog.a
[83/97] Linking C static library esp-idf/esp_rom/libesp_rom.a
[84/97] Linking C static library esp-idf/esp_common/libesp_common.a
[85/97] Linking C static library esp-idf/xtensa/libxtensa.a
[86/97] Linking C static library esp-idf/esp_hw_support/libesp_hw_support.a
[87/97] Linking C static library esp-idf/esp_system/libesp_system.a
[88/97] Linking C static library esp-idf/efuse/libefuse.a
[89/97] Linking C static library esp-idf/bootloader_support/libbootloader_support.a
[90/97] Linking C static library esp-idf/spi_flash/libspi_flash.a
[91/97] Linking C static library esp-idf/micro-ecc/libmicro-ecc.a
[92/97] Linking C static library esp-idf/soc/libsoc.a
[93/97] Linking C static library esp-idf/hal/libhal.a
[94/97] Linking C static library esp-idf/main/libmain.a
[95/97] Linking C executable bootloader.elf
[96/97] Generating binary image from built executable
esptool.py v3.3-dev
Creating esp32 image...
Merged 1 ELF section
Successfully created esp32 image.
Generated /home/arilink/esp32_develop/microros-test04/build/bootloader/bootloader.bin
[97/97] cd /home/arilink/esp32_develop/microros-test04/build/bootloader/esp-idf/esptool_py && /home/arilink/.espressif/python_env/idf4.4_py3.10_env/bin/python /home/arilink/esp/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 /home/arilink/esp32_develop/microros-test04/build/bootloader/bootloader.bin
Bootloader binary size 0x62c0 bytes. 0xd40 bytes (12%) free.
[1026/1042] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/blink_example_main.c.obj
FAILED: esp-idf/main/CMakeFiles/__idf_main.dir/blink_example_main.c.obj 
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -DHAVE_CONFIG_H -DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\" -DUNITY_INCLUDE_CONFIG_H -DWITH_POSIX -Iconfig -I../main -I/home/arilink/esp/esp-idf/components/newlib/platform_include -I/home/arilink/esp/esp-idf/components/freertos/include -I/home/arilink/esp/esp-idf/components/freertos/include/esp_additions/freertos -I/home/arilink/esp/esp-idf/components/freertos/port/xtensa/include -I/home/arilink/esp/esp-idf/components/freertos/include/esp_additions -I/home/arilink/esp/esp-idf/components/esp_hw_support/include -I/home/arilink/esp/esp-idf/components/esp_hw_support/include/soc -I/home/arilink/esp/esp-idf/components/esp_hw_support/include/soc/esp32 -I/home/arilink/esp/esp-idf/components/esp_hw_support/port/esp32/. -I/home/arilink/esp/esp-idf/components/esp_hw_support/port/esp32/private_include -I/home/arilink/esp/esp-idf/components/heap/include -I/home/arilink/esp/esp-idf/components/log/include -I/home/arilink/esp/esp-idf/components/lwip/include/apps -I/home/arilink/esp/esp-idf/components/lwip/include/apps/sntp -I/home/arilink/esp/esp-idf/components/lwip/lwip/src/include -I/home/arilink/esp/esp-idf/components/lwip/port/esp32/include -I/home/arilink/esp/esp-idf/components/lwip/port/esp32/include/arch -I/home/arilink/esp/esp-idf/components/soc/include -I/home/arilink/esp/esp-idf/components/soc/esp32/. -I/home/arilink/esp/esp-idf/components/soc/esp32/include -I/home/arilink/esp/esp-idf/components/hal/esp32/include -I/home/arilink/esp/esp-idf/components/hal/include -I/home/arilink/esp/esp-idf/components/hal/platform_port/include -I/home/arilink/esp/esp-idf/components/esp_rom/include -I/home/arilink/esp/esp-idf/components/esp_rom/include/esp32 -I/home/arilink/esp/esp-idf/components/esp_rom/esp32 -I/home/arilink/esp/esp-idf/components/esp_common/include -I/home/arilink/esp/esp-idf/components/esp_system/include -I/home/arilink/esp/esp-idf/components/esp_system/port/soc -I/home/arilink/esp/esp-idf/components/esp_system/port/public_compat -I/home/arilink/esp/esp-idf/components/esp32/include -I/home/arilink/esp/esp-idf/components/xtensa/include -I/home/arilink/esp/esp-idf/components/xtensa/esp32/include -I/home/arilink/esp/esp-idf/components/driver/include -I/home/arilink/esp/esp-idf/components/driver/esp32/include -I/home/arilink/esp/esp-idf/components/esp_pm/include -I/home/arilink/esp/esp-idf/components/esp_ringbuf/include -I/home/arilink/esp/esp-idf/components/efuse/include -I/home/arilink/esp/esp-idf/components/efuse/esp32/include -I/home/arilink/esp/esp-idf/components/vfs/include -I/home/arilink/esp/esp-idf/components/esp_wifi/include -I/home/arilink/esp/esp-idf/components/esp_event/include -I/home/arilink/esp/esp-idf/components/esp_netif/include -I/home/arilink/esp/esp-idf/components/esp_eth/include -I/home/arilink/esp/esp-idf/components/tcpip_adapter/include -I/home/arilink/esp/esp-idf/components/esp_phy/include -I/home/arilink/esp/esp-idf/components/esp_phy/esp32/include -I/home/arilink/esp/esp-idf/components/esp_ipc/include -I/home/arilink/esp/esp-idf/components/app_trace/include -I/home/arilink/esp/esp-idf/components/esp_timer/include -I/home/arilink/esp/esp-idf/components/mbedtls/port/include -I/home/arilink/esp/esp-idf/components/mbedtls/mbedtls/include -I/home/arilink/esp/esp-idf/components/mbedtls/esp_crt_bundle/include -I/home/arilink/esp/esp-idf/components/app_update/include -I/home/arilink/esp/esp-idf/components/spi_flash/include -I/home/arilink/esp/esp-idf/components/bootloader_support/include -I/home/arilink/esp/esp-idf/components/nvs_flash/include -I/home/arilink/esp/esp-idf/components/pthread/include -I/home/arilink/esp/esp-idf/components/esp_gdbstub/include -I/home/arilink/esp/esp-idf/components/esp_gdbstub/xtensa -I/home/arilink/esp/esp-idf/components/esp_gdbstub/esp32 -I/home/arilink/esp/esp-idf/components/espcoredump/include -I/home/arilink/esp/esp-idf/components/espcoredump/include/port/xtensa -I/home/arilink/esp/esp-idf/components/wpa_supplicant/include -I/home/arilink/esp/esp-idf/components/wpa_supplicant/port/include -I/home/arilink/esp/esp-idf/components/wpa_supplicant/esp_supplicant/include -I/home/arilink/esp/esp-idf/components/ieee802154/include -I/home/arilink/esp/esp-idf/components/console -I/home/arilink/esp/esp-idf/components/asio/asio/asio/include -I/home/arilink/esp/esp-idf/components/asio/port/include -I/home/arilink/esp/esp-idf/components/cbor/port/include -I/home/arilink/esp/esp-idf/components/unity/include -I/home/arilink/esp/esp-idf/components/unity/unity/src -I/home/arilink/esp/esp-idf/components/cmock/CMock/src -I/home/arilink/esp/esp-idf/components/coap/port/include -I/home/arilink/esp/esp-idf/components/coap/libcoap/include -I/home/arilink/esp/esp-idf/components/nghttp/port/include -I/home/arilink/esp/esp-idf/components/nghttp/nghttp2/lib/includes -I/home/arilink/esp/esp-idf/components/esp-tls -I/home/arilink/esp/esp-idf/components/esp-tls/esp-tls-crypto -I/home/arilink/esp/esp-idf/components/esp_adc_cal/include -I/home/arilink/esp/esp-idf/components/esp_hid/include -I/home/arilink/esp/esp-idf/components/tcp_transport/include -I/home/arilink/esp/esp-idf/components/esp_http_client/include -I/home/arilink/esp/esp-idf/components/esp_http_server/include -I/home/arilink/esp/esp-idf/components/esp_https_ota/include -I/home/arilink/esp/esp-idf/components/esp_lcd/include -I/home/arilink/esp/esp-idf/components/esp_lcd/interface -I/home/arilink/esp/esp-idf/components/protobuf-c/protobuf-c -I/home/arilink/esp/esp-idf/components/protocomm/include/common -I/home/arilink/esp/esp-idf/components/protocomm/include/security -I/home/arilink/esp/esp-idf/components/protocomm/include/transports -I/home/arilink/esp/esp-idf/components/mdns/include -I/home/arilink/esp/esp-idf/components/esp_local_ctrl/include -I/home/arilink/esp/esp-idf/components/sdmmc/include -I/home/arilink/esp/esp-idf/components/esp_serial_slave_link/include -I/home/arilink/esp/esp-idf/components/esp_websocket_client/include -I/home/arilink/esp/esp-idf/components/expat/expat/expat/lib -I/home/arilink/esp/esp-idf/components/expat/port/include -I/home/arilink/esp/esp-idf/components/wear_levelling/include -I/home/arilink/esp/esp-idf/components/fatfs/diskio -I/home/arilink/esp/esp-idf/components/fatfs/vfs -I/home/arilink/esp/esp-idf/components/fatfs/src -I/home/arilink/esp/esp-idf/components/freemodbus/common/include -I../components/test/include -I/home/arilink/esp/esp-idf/components/jsmn/include -I/home/arilink/esp/esp-idf/components/json/cJSON -I/home/arilink/esp/esp-idf/components/libsodium/libsodium/src/libsodium/include -I/home/arilink/esp/esp-idf/components/libsodium/port_include -I/home/arilink/esp/esp-idf/components/mqtt/esp-mqtt/include -I/home/arilink/esp/esp-idf/components/openssl/include -I/home/arilink/esp/esp-idf/components/perfmon/include -I/home/arilink/esp/esp-idf/components/spiffs/include -I/home/arilink/esp/esp-idf/components/ulp/include -I/home/arilink/esp/esp-idf/components/wifi_provisioning/include -I/home/arilink/esp/esp-idf/examples/common_components/led_strip/include -I../components/micro_ros_espidf_component/network_interfaces -isystem ../components/micro_ros_espidf_component/include -isystem ../components/micro_ros_espidf_component/include/include -isystem ../components/micro_ros_espidf_component/include/rcl_logging_interface -isystem ../components/micro_ros_espidf_component/include/rcutils -isystem ../components/micro_ros_espidf_component/include/rosidl_runtime_c -isystem ../components/micro_ros_espidf_component/include/rosidl_typesupport_interface -isystem ../components/micro_ros_espidf_component/include/tracetools -isystem ../components/micro_ros_espidf_component/include/ucdr -mlongcalls -Wno-frame-address -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -Og -fmacro-prefix-map=/home/arilink/esp32_develop/microros-test04=. -fmacro-prefix-map=/home/arilink/esp/esp-idf=IDF -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -std=gnu99 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER=\"v4.4.1-dirty\" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -MD -MT esp-idf/main/CMakeFiles/__idf_main.dir/blink_example_main.c.obj -MF esp-idf/main/CMakeFiles/__idf_main.dir/blink_example_main.c.obj.d -o esp-idf/main/CMakeFiles/__idf_main.dir/blink_example_main.c.obj -c ../main/blink_example_main.c
../main/blink_example_main.c:11:10: fatal error: rcl/rcl.h: No such file or directory
 #include <rcl/rcl.h>
          ^~~~~~~~~~~
compilation terminated.
[1031/1042] Building C object esp-idf/micro_ros_espidf_component/CMakeFiles/__idf_micro_ros_espidf_component.dir/network_interfaces/uros_ethernet_netif.c.obj
ninja: build stopped: subcommand failed.
The terminal process "/usr/bin/bash '-c', 'ninja '" terminated with exit code: 1.
pablogs9 commented 1 year ago

Hello @arilink:

arilink commented 1 year ago

微信图片_20220801161435 Here is the output from one of my computers (couldn't compile libmicroros.a)

arilink commented 1 year ago

Here are the steps when I can generate libmicroros.a

  1. Open vscode->NewProject choose Template->blink 2.esp-idf create new component name test
  2. Jump to the project name/component directory
  3. git clone -b humble https://github.com/micro-ROS/micro_ros_espidf_component.git
  4. Go back to vscode Esp-IDF set device target and wait for the download and compilation of micro_ros_espidf_component related components
  5. Esp-IDF set device target is completed and libmicroros.a is generated
  6. Set wifi ssid password 8.Build project 9.../main/blink_example_main.c:11:10: fatal error: rcl/rcl.h: No such file or directory
pablogs9 commented 1 year ago

Please provide instructions using just ESP-IDF, not the VSCode extension.

arilink commented 1 year ago

Is there any essential difference between the two? I'm not used to editors like vim, so I chose vscode + esp idf extension, which eventually calls ESP idf. What should I do if I want to operate in vscode?

pablogs9 commented 1 year ago

We need to eliminate the possibility of error in this extension. So I need a set of commands to replicate the issue based on the instructions we provide: https://github.com/micro-ROS/micro_ros_espidf_component#example

arilink commented 1 year ago

Ok, I will try it according to your example Can the vscode esp-idf extension use micro-ros components under normal circumstances? Because I need to operate micro-ros as a component in the project

arilink commented 1 year ago

@pablogs9 After testing git clone micro_ros_espidf_component, you can use idf.py to compile the firmware according to the example, which shows that the development environment is fine, but it is inconvenient to merge with my current project. I guess it is related to cmake, but there are many related problems and I don't know how to modify it

arilink commented 1 year ago

I have new progress

  1. I found that the header file path contained in the main.c file was not added to the idf_component_register function in the CMakeLists.txt file in the root directory of the micro_ros_espidf_component component when using vscode+extension. For example, I manually added micro_ros_src/rcl/rcl/include and re-installed Compile will not prompt fatal error: rcl/rcl.h: No such file or directory and the program will continue to compile down
  2. Continue to add the path on the basis of 1. At this time, a new problem occurs, fatal error: std_msgs/msg/int32.h: No such file or directory After searching, the corresponding file is not found in the micro_ros_scr directory. After searching with idf After compiling micro_ros_espidf_component with .py, it is found that many folders are missing in the include directory. idf.py After compiling micro_ros_espidf_component, there is an int32.h file in the include folder. Does this mean that micro_ros_espidf_component is not fully compiled? Then why can libmicroros.a be generated? Can I manually compile the entire micro_ros_espidf_component component under vscode+extension?
  3. Based on 2, because it is in China and the network environment is limited, git clone is very slow when setting config in the vscode+extension environment, so I manually cloned the relevant files and placed them in the micro_ros_src directory. Is this possible? The reason for not fully compiling?
arilink commented 1 year ago

@pablogs9 Here is the screenshot error-miroros

pablogs9 commented 1 year ago

The micro-ROS build step is failing, this include folder does not have all the required packages. Can you paste here the micro-ROS build process output?

arilink commented 1 year ago
-- Found Git: /usr/bin/git (found version "2.34.1") 
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Project is not inside a git repository, or git repository has no commits; will not use 'git describe' to determine PROJECT_VER.
-- Building ESP-IDF components for target esp32
-- Project sdkconfig file /home/arilink/esp32_develop/microros-test04/sdkconfig
Loading defaults file /home/arilink/esp32_develop/microros-test04/sdkconfig.defaults...
-- Found Python3: /home/arilink/.espressif/python_env/idf4.4_py3.10_env/bin/python3.10 (found version "3.10.4") found components: Interpreter 
-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS
-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS - Success
-- App "microros-test04" version: 1
-- Adding linker script /home/arilink/esp32_develop/microros-test04/build/esp-idf/esp_system/ld/memory.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_system/ld/esp32/sections.ld.in
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.api.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-time.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/soc/esp32/ld/esp32.peripherals.ld
-- Using Micro XRCE-DDS middleware
mkdir -p /home/arilink/esp32_develop/microros-test04/components/micro_ros_espidf_component/micro_ros_src/libmicroros; cd /home/arilink/esp32_develop/microros-test04/components/micro_ros_espidf_component/micro_ros_src/libmicroros; \
for file in $(find /home/arilink/esp32_develop/microros-test04/components/micro_ros_espidf_component/micro_ros_src/install/lib/ -name '*.a'); do \
    folder=$(echo $file | sed -E "s/(.+)\/(.+).a/\2/"); \
    mkdir -p $folder; cd $folder; /home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-ar x $file; \
    for f in *; do \
        mv $f ../$folder-$f; \
    done; \
    cd ..; rm -rf $folder; \
done ; \
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-ar rc -s libmicroros.a *.obj; cp libmicroros.a /home/arilink/esp32_develop/microros-test04/components/micro_ros_espidf_component; \
cd ..; rm -rf libmicroros; \
cp -R /home/arilink/esp32_develop/microros-test04/components/micro_ros_espidf_component/micro_ros_src/install/include /home/arilink/esp32_develop/microros-test04/components/micro_ros_espidf_component/include;
-- Components: app_trace app_update asio bootloader bootloader_support bt cbor cmock coap console cxx driver efuse esp-tls esp32 esp_adc_cal esp_common esp_eth esp_event esp_gdbstub esp_hid esp_http_client esp_http_server esp_https_ota esp_https_server esp_hw_support esp_ipc esp_lcd esp_local_ctrl esp_netif esp_phy esp_pm esp_ringbuf esp_rom esp_serial_slave_link esp_system esp_timer esp_websocket_client esp_wifi espcoredump esptool_py expat fatfs freemodbus freertos hal heap ieee802154 jsmn json led_strip libsodium log lwip main mbedtls mdns micro_ros_espidf_component mqtt newlib nghttp nvs_flash openssl openthread partition_table perfmon protobuf-c protocomm pthread sdmmc soc spi_flash spiffs tcp_transport tcpip_adapter test tinyusb ulp unity usb vfs wear_levelling wifi_provisioning wpa_supplicant xtensa
-- Component paths: /home/arilink/esp/esp-idf/components/app_trace /home/arilink/esp/esp-idf/components/app_update /home/arilink/esp/esp-idf/components/asio /home/arilink/esp/esp-idf/components/bootloader /home/arilink/esp/esp-idf/components/bootloader_support /home/arilink/esp/esp-idf/components/bt /home/arilink/esp/esp-idf/components/cbor /home/arilink/esp/esp-idf/components/cmock /home/arilink/esp/esp-idf/components/coap /home/arilink/esp/esp-idf/components/console /home/arilink/esp/esp-idf/components/cxx /home/arilink/esp/esp-idf/components/driver /home/arilink/esp/esp-idf/components/efuse /home/arilink/esp/esp-idf/components/esp-tls /home/arilink/esp/esp-idf/components/esp32 /home/arilink/esp/esp-idf/components/esp_adc_cal /home/arilink/esp/esp-idf/components/esp_common /home/arilink/esp/esp-idf/components/esp_eth /home/arilink/esp/esp-idf/components/esp_event /home/arilink/esp/esp-idf/components/esp_gdbstub /home/arilink/esp/esp-idf/components/esp_hid /home/arilink/esp/esp-idf/components/esp_http_client /home/arilink/esp/esp-idf/components/esp_http_server /home/arilink/esp/esp-idf/components/esp_https_ota /home/arilink/esp/esp-idf/components/esp_https_server /home/arilink/esp/esp-idf/components/esp_hw_support /home/arilink/esp/esp-idf/components/esp_ipc /home/arilink/esp/esp-idf/components/esp_lcd /home/arilink/esp/esp-idf/components/esp_local_ctrl /home/arilink/esp/esp-idf/components/esp_netif /home/arilink/esp/esp-idf/components/esp_phy /home/arilink/esp/esp-idf/components/esp_pm /home/arilink/esp/esp-idf/components/esp_ringbuf /home/arilink/esp/esp-idf/components/esp_rom /home/arilink/esp/esp-idf/components/esp_serial_slave_link /home/arilink/esp/esp-idf/components/esp_system /home/arilink/esp/esp-idf/components/esp_timer /home/arilink/esp/esp-idf/components/esp_websocket_client /home/arilink/esp/esp-idf/components/esp_wifi /home/arilink/esp/esp-idf/components/espcoredump /home/arilink/esp/esp-idf/components/esptool_py /home/arilink/esp/esp-idf/components/expat /home/arilink/esp/esp-idf/components/fatfs /home/arilink/esp/esp-idf/components/freemodbus /home/arilink/esp/esp-idf/components/freertos /home/arilink/esp/esp-idf/components/hal /home/arilink/esp/esp-idf/components/heap /home/arilink/esp/esp-idf/components/ieee802154 /home/arilink/esp/esp-idf/components/jsmn /home/arilink/esp/esp-idf/components/json /home/arilink/esp/esp-idf/examples/common_components/led_strip /home/arilink/esp/esp-idf/components/libsodium /home/arilink/esp/esp-idf/components/log /home/arilink/esp/esp-idf/components/lwip /home/arilink/esp32_develop/microros-test04/main /home/arilink/esp/esp-idf/components/mbedtls /home/arilink/esp/esp-idf/components/mdns /home/arilink/esp32_develop/microros-test04/components/micro_ros_espidf_component /home/arilink/esp/esp-idf/components/mqtt /home/arilink/esp/esp-idf/components/newlib /home/arilink/esp/esp-idf/components/nghttp /home/arilink/esp/esp-idf/components/nvs_flash /home/arilink/esp/esp-idf/components/openssl /home/arilink/esp/esp-idf/components/openthread /home/arilink/esp/esp-idf/components/partition_table /home/arilink/esp/esp-idf/components/perfmon /home/arilink/esp/esp-idf/components/protobuf-c /home/arilink/esp/esp-idf/components/protocomm /home/arilink/esp/esp-idf/components/pthread /home/arilink/esp/esp-idf/components/sdmmc /home/arilink/esp/esp-idf/components/soc /home/arilink/esp/esp-idf/components/spi_flash /home/arilink/esp/esp-idf/components/spiffs /home/arilink/esp/esp-idf/components/tcp_transport /home/arilink/esp/esp-idf/components/tcpip_adapter /home/arilink/esp32_develop/microros-test04/components/test /home/arilink/esp/esp-idf/components/tinyusb /home/arilink/esp/esp-idf/components/ulp /home/arilink/esp/esp-idf/components/unity /home/arilink/esp/esp-idf/components/usb /home/arilink/esp/esp-idf/components/vfs /home/arilink/esp/esp-idf/components/wear_levelling /home/arilink/esp/esp-idf/components/wifi_provisioning /home/arilink/esp/esp-idf/components/wpa_supplicant /home/arilink/esp/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: /home/arilink/esp32_develop/microros-test04/build
Adding "set-target"'s dependency "fullclean" to list of commands with default set of options.
Executing action: fullclean
Build directory '/home/arilink/esp32_develop/microros-test04/build' not found. Nothing to clean.
Executing action: set-target
Set Target to: esp32, new sdkconfig created. Existing sdkconfig renamed to sdkconfig.old.
Running cmake in directory /home/arilink/esp32_develop/microros-test04/build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DIDF_TARGET=esp32 -DCCACHE_ENABLE=0 /home/arilink/esp32_develop/microros-test04"...
arilink commented 1 year ago

I think we are very close to success. Currently libmicroros.a can be generated, but many header files are not generated as expected, so an error will be reported in main.c, as long as we can find out the reason for the failure to generate

arilink commented 1 year ago
Executing task: cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 .. <

-- Found Git: /usr/bin/git (found version "2.34.1") 
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Project is not inside a git repository, or git repository has no commits; will not use 'git describe' to determine PROJECT_VER.
-- Building ESP-IDF components for target esp32
-- Project sdkconfig file /home/arilink/esp32_develop/microros-test04/sdkconfig
Loading defaults file /home/arilink/esp32_develop/microros-test04/sdkconfig.defaults...
-- Found Python3: /home/arilink/.espressif/python_env/idf4.4_py3.10_env/bin/python3.10 (found version "3.10.4") found components: Interpreter 
-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS
-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS - Success
-- App "microros-test04" version: 1
-- Adding linker script /home/arilink/esp32_develop/microros-test04/build/esp-idf/esp_system/ld/memory.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_system/ld/esp32/sections.ld.in
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.api.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-time.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/soc/esp32/ld/esp32.peripherals.ld
-- Using Micro XRCE-DDS middleware
mkdir -p /home/arilink/esp32_develop/microros-test04/components/micro_ros_espidf_component/micro_ros_src/libmicroros; cd /home/arilink/esp32_develop/microros-test04/components/micro_ros_espidf_component/micro_ros_src/libmicroros; \
for file in $(find /home/arilink/esp32_develop/microros-test04/components/micro_ros_espidf_component/micro_ros_src/install/lib/ -name '*.a'); do \
        folder=$(echo $file | sed -E "s/(.+)\/(.+).a/\2/"); \
        mkdir -p $folder; cd $folder; /home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-ar x $file; \
        for f in *; do \
                mv $f ../$folder-$f; \
        done; \
        cd ..; rm -rf $folder; \
done ; \
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-ar rc -s libmicroros.a *.obj; cp libmicroros.a /home/arilink/esp32_develop/microros-test04/components/micro_ros_espidf_component; \
cd ..; rm -rf libmicroros; \
cp -R /home/arilink/esp32_develop/microros-test04/components/micro_ros_espidf_component/micro_ros_src/install/include /home/arilink/esp32_develop/microros-test04/components/micro_ros_espidf_component/include;
-- Components: app_trace app_update asio bootloader bootloader_support bt cbor cmock coap console cxx driver efuse esp-tls esp32 esp_adc_cal esp_common esp_eth esp_event esp_gdbstub esp_hid esp_http_client esp_http_server esp_https_ota esp_https_server esp_hw_support esp_ipc esp_lcd esp_local_ctrl esp_netif esp_phy esp_pm esp_ringbuf esp_rom esp_serial_slave_link esp_system esp_timer esp_websocket_client esp_wifi espcoredump esptool_py expat fatfs freemodbus freertos hal heap ieee802154 jsmn json led_strip libsodium log lwip main mbedtls mdns micro_ros_espidf_component mqtt newlib nghttp nvs_flash openssl openthread partition_table perfmon protobuf-c protocomm pthread sdmmc soc spi_flash spiffs tcp_transport tcpip_adapter test tinyusb ulp unity usb vfs wear_levelling wifi_provisioning wpa_supplicant xtensa
-- Component paths: /home/arilink/esp/esp-idf/components/app_trace /home/arilink/esp/esp-idf/components/app_update /home/arilink/esp/esp-idf/components/asio /home/arilink/esp/esp-idf/components/bootloader /home/arilink/esp/esp-idf/components/bootloader_support /home/arilink/esp/esp-idf/components/bt /home/arilink/esp/esp-idf/components/cbor /home/arilink/esp/esp-idf/components/cmock /home/arilink/esp/esp-idf/components/coap /home/arilink/esp/esp-idf/components/console /home/arilink/esp/esp-idf/components/cxx /home/arilink/esp/esp-idf/components/driver /home/arilink/esp/esp-idf/components/efuse /home/arilink/esp/esp-idf/components/esp-tls /home/arilink/esp/esp-idf/components/esp32 /home/arilink/esp/esp-idf/components/esp_adc_cal /home/arilink/esp/esp-idf/components/esp_common /home/arilink/esp/esp-idf/components/esp_eth /home/arilink/esp/esp-idf/components/esp_event /home/arilink/esp/esp-idf/components/esp_gdbstub /home/arilink/esp/esp-idf/components/esp_hid /home/arilink/esp/esp-idf/components/esp_http_client /home/arilink/esp/esp-idf/components/esp_http_server /home/arilink/esp/esp-idf/components/esp_https_ota /home/arilink/esp/esp-idf/components/esp_https_server /home/arilink/esp/esp-idf/components/esp_hw_support /home/arilink/esp/esp-idf/components/esp_ipc /home/arilink/esp/esp-idf/components/esp_lcd /home/arilink/esp/esp-idf/components/esp_local_ctrl /home/arilink/esp/esp-idf/components/esp_netif /home/arilink/esp/esp-idf/components/esp_phy /home/arilink/esp/esp-idf/components/esp_pm /home/arilink/esp/esp-idf/components/esp_ringbuf /home/arilink/esp/esp-idf/components/esp_rom /home/arilink/esp/esp-idf/components/esp_serial_slave_link /home/arilink/esp/esp-idf/components/esp_system /home/arilink/esp/esp-idf/components/esp_timer /home/arilink/esp/esp-idf/components/esp_websocket_client /home/arilink/esp/esp-idf/components/esp_wifi /home/arilink/esp/esp-idf/components/espcoredump /home/arilink/esp/esp-idf/components/esptool_py /home/arilink/esp/esp-idf/components/expat /home/arilink/esp/esp-idf/components/fatfs /home/arilink/esp/esp-idf/components/freemodbus /home/arilink/esp/esp-idf/components/freertos /home/arilink/esp/esp-idf/components/hal /home/arilink/esp/esp-idf/components/heap /home/arilink/esp/esp-idf/components/ieee802154 /home/arilink/esp/esp-idf/components/jsmn /home/arilink/esp/esp-idf/components/json /home/arilink/esp/esp-idf/examples/common_components/led_strip /home/arilink/esp/esp-idf/components/libsodium /home/arilink/esp/esp-idf/components/log /home/arilink/esp/esp-idf/components/lwip /home/arilink/esp32_develop/microros-test04/main /home/arilink/esp/esp-idf/components/mbedtls /home/arilink/esp/esp-idf/components/mdns /home/arilink/esp32_develop/microros-test04/components/micro_ros_espidf_component /home/arilink/esp/esp-idf/components/mqtt /home/arilink/esp/esp-idf/components/newlib /home/arilink/esp/esp-idf/components/nghttp /home/arilink/esp/esp-idf/components/nvs_flash /home/arilink/esp/esp-idf/components/openssl /home/arilink/esp/esp-idf/components/openthread /home/arilink/esp/esp-idf/components/partition_table /home/arilink/esp/esp-idf/components/perfmon /home/arilink/esp/esp-idf/components/protobuf-c /home/arilink/esp/esp-idf/components/protocomm /home/arilink/esp/esp-idf/components/pthread /home/arilink/esp/esp-idf/components/sdmmc /home/arilink/esp/esp-idf/components/soc /home/arilink/esp/esp-idf/components/spi_flash /home/arilink/esp/esp-idf/components/spiffs /home/arilink/esp/esp-idf/components/tcp_transport /home/arilink/esp/esp-idf/components/tcpip_adapter /home/arilink/esp32_develop/microros-test04/components/test /home/arilink/esp/esp-idf/components/tinyusb /home/arilink/esp/esp-idf/components/ulp /home/arilink/esp/esp-idf/components/unity /home/arilink/esp/esp-idf/components/usb /home/arilink/esp/esp-idf/components/vfs /home/arilink/esp/esp-idf/components/wear_levelling /home/arilink/esp/esp-idf/components/wifi_provisioning /home/arilink/esp/esp-idf/components/wpa_supplicant /home/arilink/esp/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: /home/arilink/esp32_develop/microros-test04/build

> Executing task: ninja  <

[0/2] Re-checking globbed directories...
[7/1042] Generating ../../partition_table/partition-table.bin
Partition table binary generated. Contents:
*******************************************************************************
# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,24K,
phy_init,data,phy,0xf000,4K,
factory,app,factory,0x10000,1M,
*******************************************************************************
[167/1042] Performing configure step for 'bootloader'
-- Found Git: /usr/bin/git (found version "2.34.1") 
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32
-- Project sdkconfig file /home/arilink/esp32_develop/microros-test04/sdkconfig
-- Adding linker script /home/arilink/esp/esp-idf/components/soc/esp32/ld/esp32.peripherals.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.api.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.ld
-- Adding linker script /home/arilink/esp/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.rom.ld
-- Components: bootloader bootloader_support efuse esp32 esp_common esp_hw_support esp_rom esp_system esptool_py freertos hal log main micro-ecc newlib partition_table soc spi_flash xtensa
-- Component paths: /home/arilink/esp/esp-idf/components/bootloader /home/arilink/esp/esp-idf/components/bootloader_support /home/arilink/esp/esp-idf/components/efuse /home/arilink/esp/esp-idf/components/esp32 /home/arilink/esp/esp-idf/components/esp_common /home/arilink/esp/esp-idf/components/esp_hw_support /home/arilink/esp/esp-idf/components/esp_rom /home/arilink/esp/esp-idf/components/esp_system /home/arilink/esp/esp-idf/components/esptool_py /home/arilink/esp/esp-idf/components/freertos /home/arilink/esp/esp-idf/components/hal /home/arilink/esp/esp-idf/components/log /home/arilink/esp/esp-idf/components/bootloader/subproject/main /home/arilink/esp/esp-idf/components/bootloader/subproject/components/micro-ecc /home/arilink/esp/esp-idf/components/newlib /home/arilink/esp/esp-idf/components/partition_table /home/arilink/esp/esp-idf/components/soc /home/arilink/esp/esp-idf/components/spi_flash /home/arilink/esp/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: /home/arilink/esp32_develop/microros-test04/build/bootloader
[264/1042] Performing build step for 'bootloader'
[1/97] Generating project_elf_src_esp32.c
[2/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/lldesc.c.obj
[3/97] Building C object CMakeFiles/bootloader.elf.dir/project_elf_src_esp32.c.obj
[4/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/soc_include_legacy_warn.c.obj
[5/97] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mpu_hal.c.obj
[6/97] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/wdt_hal_iram.c.obj
[7/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/dac_periph.c.obj
[8/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/adc_periph.c.obj
[9/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/gpio_periph.c.obj
[10/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/i2c_periph.c.obj
[11/97] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/cpu_hal.c.obj
[12/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/i2s_periph.c.obj
[13/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/interrupts.c.obj
[14/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/mcpwm_periph.c.obj
[15/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/ledc_periph.c.obj
[16/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/lcd_periph.c.obj
[17/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rmt_periph.c.obj
[18/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/pcnt_periph.c.obj
[19/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/timer_periph.c.obj
[20/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_io_periph.c.obj
[21/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdmmc_periph.c.obj
[22/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sigmadelta_periph.c.obj
[23/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdio_slave_periph.c.obj
[24/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/spi_periph.c.obj
[25/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/uart_periph.c.obj
[26/97] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/touch_sensor_periph.c.obj
[27/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_init.c.obj
[28/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common_loader.c.obj
[29/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random_esp32.c.obj
[30/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_mem.c.obj
[31/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj
[32/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj
[33/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_flash.c.obj
[34/97] Building C object esp-idf/spi_flash/CMakeFiles/__idf_spi_flash.dir/esp32/spi_flash_rom_patch.c.obj
[35/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj
[36/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_flash_config_esp32.c.obj
[37/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/secure_boot.c.obj
[38/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj
[39/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_qio_mode.c.obj
[40/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse_esp32.c.obj
[41/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj
[42/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_loader.c.obj
[43/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console_loader.c.obj
[44/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj
[45/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console.c.obj
[46/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj
[47/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_soc.c.obj
[48/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_panic.c.obj
[49/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_sha.c.obj
[50/97] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_table.c.obj
[51/97] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj
[52/97] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_fields.c.obj
[53/97] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj
[54/97] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj
[55/97] Building C object esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/esp_err.c.obj
[56/97] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_utility.c.obj
[57/97] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_esp32.c.obj
[58/97] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj
[59/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/cpu_util.c.obj
[60/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/compare_set.c.obj
[61/97] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api_key_esp32.c.obj
[62/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_pm.c.obj
[63/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_clk_init.c.obj
[64/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_time.c.obj
[65/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_init.c.obj
[66/97] Building C object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/eri.c.obj
[67/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/chip_info.c.obj
[68/97] Building C object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/xt_trax.c.obj
[69/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_clk.c.obj
[70/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_sleep.c.obj
[71/97] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_sys.c.obj
[72/97] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_wdt.c.obj
[73/97] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_crc.c.obj
[74/97] Building ASM object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_longjmp.S.obj
[75/97] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_tjpgd.c.obj
[76/97] Building C object esp-idf/esp_common/CMakeFiles/__idf_esp_common.dir/src/esp_err_to_name.c.obj
[77/97] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_uart.c.obj
[78/97] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_noos.c.obj
[79/97] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_buffers.c.obj
[80/97] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj
[81/97] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log.c.obj
[82/97] Linking C static library esp-idf/log/liblog.a
[83/97] Linking C static library esp-idf/esp_rom/libesp_rom.a
[84/97] Linking C static library esp-idf/esp_common/libesp_common.a
[85/97] Linking C static library esp-idf/xtensa/libxtensa.a
[86/97] Linking C static library esp-idf/esp_hw_support/libesp_hw_support.a
[87/97] Linking C static library esp-idf/esp_system/libesp_system.a
[88/97] Linking C static library esp-idf/efuse/libefuse.a
[89/97] Linking C static library esp-idf/bootloader_support/libbootloader_support.a
[90/97] Linking C static library esp-idf/spi_flash/libspi_flash.a
[91/97] Linking C static library esp-idf/micro-ecc/libmicro-ecc.a
[92/97] Linking C static library esp-idf/soc/libsoc.a
[93/97] Linking C static library esp-idf/hal/libhal.a
[94/97] Linking C static library esp-idf/main/libmain.a
[95/97] Linking C executable bootloader.elf
[96/97] Generating binary image from built executable
esptool.py v3.3-dev
Creating esp32 image...
Merged 1 ELF section
Successfully created esp32 image.
Generated /home/arilink/esp32_develop/microros-test04/build/bootloader/bootloader.bin
[97/97] cd /home/arilink/esp32_develop/microros-test04/build/bootloader/esp-idf/esptool_py && /home/arilink/.espressif/python_env/idf4.4_py3.10_env/bin/python /home/arilink/esp/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 /home/arilink/esp32_develop/microros-test04/build/bootloader/bootloader.bin
Bootloader binary size 0x62c0 bytes. 0xd40 bytes (12%) free.
[1040/1042] Linking CXX executable microros-test04.elf
FAILED: microros-test04.elf 
: && /home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ -mlongcalls -Wno-frame-address  CMakeFiles/microros-test04.elf.dir/project_elf_src_esp32.c.obj -o microros-test04.elf  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_ipc/libesp_ipc.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/tcpip_adapter/libtcpip_adapter.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/console/libconsole.a  esp-idf/lwip/liblwip.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/app_trace/libapp_trace.a  esp-idf/asio/libasio.a  esp-idf/cbor/libcbor.a  esp-idf/unity/libunity.a  esp-idf/cmock/libcmock.a  esp-idf/coap/libcoap.a  esp-idf/nghttp/libnghttp.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/esp_adc_cal/libesp_adc_cal.a  esp-idf/esp_hid/libesp_hid.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/esp_lcd/libesp_lcd.a  esp-idf/protobuf-c/libprotobuf-c.a  esp-idf/protocomm/libprotocomm.a  esp-idf/mdns/libmdns.a  esp-idf/esp_local_ctrl/libesp_local_ctrl.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/esp_websocket_client/libesp_websocket_client.a  esp-idf/expat/libexpat.a  esp-idf/wear_levelling/libwear_levelling.a  esp-idf/fatfs/libfatfs.a  esp-idf/freemodbus/libfreemodbus.a  esp-idf/test/libtest.a  esp-idf/jsmn/libjsmn.a  esp-idf/json/libjson.a  esp-idf/libsodium/liblibsodium.a  esp-idf/mqtt/libmqtt.a  esp-idf/openssl/libopenssl.a  esp-idf/perfmon/libperfmon.a  esp-idf/spiffs/libspiffs.a  esp-idf/ulp/libulp.a  esp-idf/wifi_provisioning/libwifi_provisioning.a  esp-idf/main/libmain.a  esp-idf/led_strip/libled_strip.a  esp-idf/micro_ros_espidf_component/libmicro_ros_espidf_component.a  -Wl,--cref  -Wl,--Map="/home/arilink/esp32_develop/microros-test04/build/microros-test04.map"  -Wl,--gc-sections  -fno-rtti  -fno-lto  esp-idf/asio/libasio.a  esp-idf/cbor/libcbor.a  esp-idf/cmock/libcmock.a  esp-idf/unity/libunity.a  esp-idf/coap/libcoap.a  esp-idf/esp_adc_cal/libesp_adc_cal.a  esp-idf/esp_hid/libesp_hid.a  esp-idf/esp_lcd/libesp_lcd.a  esp-idf/esp_local_ctrl/libesp_local_ctrl.a  esp-idf/esp_websocket_client/libesp_websocket_client.a  esp-idf/expat/libexpat.a  esp-idf/fatfs/libfatfs.a  esp-idf/wear_levelling/libwear_levelling.a  esp-idf/freemodbus/libfreemodbus.a  esp-idf/test/libtest.a  esp-idf/jsmn/libjsmn.a  esp-idf/libsodium/liblibsodium.a  esp-idf/mqtt/libmqtt.a  esp-idf/openssl/libopenssl.a  esp-idf/perfmon/libperfmon.a  esp-idf/spiffs/libspiffs.a  esp-idf/wifi_provisioning/libwifi_provisioning.a  esp-idf/protocomm/libprotocomm.a  esp-idf/protobuf-c/libprotobuf-c.a  esp-idf/mdns/libmdns.a  esp-idf/json/libjson.a  ../components/micro_ros_espidf_component/libmicroros.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_ipc/libesp_ipc.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/tcpip_adapter/libtcpip_adapter.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/console/libconsole.a  esp-idf/lwip/liblwip.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/app_trace/libapp_trace.a  esp-idf/nghttp/libnghttp.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/ulp/libulp.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libcoexist.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_ipc/libesp_ipc.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/tcpip_adapter/libtcpip_adapter.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/console/libconsole.a  esp-idf/lwip/liblwip.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/app_trace/libapp_trace.a  esp-idf/nghttp/libnghttp.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/ulp/libulp.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libcoexist.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_ipc/libesp_ipc.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/tcpip_adapter/libtcpip_adapter.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/console/libconsole.a  esp-idf/lwip/liblwip.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/app_trace/libapp_trace.a  esp-idf/nghttp/libnghttp.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/ulp/libulp.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libcoexist.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_ipc/libesp_ipc.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/tcpip_adapter/libtcpip_adapter.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/console/libconsole.a  esp-idf/lwip/liblwip.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/app_trace/libapp_trace.a  esp-idf/nghttp/libnghttp.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/ulp/libulp.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libcoexist.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_ipc/libesp_ipc.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/tcpip_adapter/libtcpip_adapter.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/console/libconsole.a  esp-idf/lwip/liblwip.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/app_trace/libapp_trace.a  esp-idf/nghttp/libnghttp.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/ulp/libulp.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libcoexist.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  -u esp_app_desc  -u pthread_include_pthread_impl  -u pthread_include_pthread_cond_impl  -u pthread_include_pthread_local_storage_impl  -u pthread_include_pthread_rwlock_impl  -L "/home/arilink/esp/esp-idf/components/esp_phy/lib/esp32"  -u include_esp_phy_override  -lphy  -lrtc  esp-idf/esp_phy/libesp_phy.a  -lphy  -lrtc  esp-idf/esp_phy/libesp_phy.a  -lphy  -lrtc  -u ld_include_highint_hdl  -u start_app  -u start_app_other_cores  -L "/home/arilink/esp32_develop/microros-test04/build/esp-idf/esp_system/ld"  -T memory.ld  -T sections.ld  -u __ubsan_include  -L "/home/arilink/esp/esp-idf/components/esp_rom/esp32/ld"  -T esp32.rom.ld  -T esp32.rom.api.ld  -T esp32.rom.libgcc.ld  -T esp32.rom.newlib-data.ld  -T esp32.rom.syscalls.ld  -T esp32.rom.newlib-funcs.ld  -T esp32.rom.newlib-time.ld  -Wl,--wrap=longjmp  -u __assert_func  -u vfs_include_syscalls_impl  -L "/home/arilink/esp/esp-idf/components/esp_wifi/lib/esp32"  -L "/home/arilink/esp/esp-idf/components/soc/esp32/ld"  -T esp32.peripherals.ld  /home/arilink/esp/esp-idf/components/xtensa/esp32/libxt_hal.a  -Wl,--undefined=uxTopUsedPriority  -u app_main  -lm  esp-idf/newlib/libnewlib.a  -u newlib_include_heap_impl  -u newlib_include_syscalls_impl  -u newlib_include_pthread_impl  -u newlib_include_assert_impl  -Wl,--wrap=_Unwind_SetEnableExceptionFdeSorting  -Wl,--wrap=__register_frame_info_bases  -Wl,--wrap=__register_frame_info  -Wl,--wrap=__register_frame  -Wl,--wrap=__register_frame_info_table_bases  -Wl,--wrap=__register_frame_info_table  -Wl,--wrap=__register_frame_table  -Wl,--wrap=__deregister_frame_info_bases  -Wl,--wrap=__deregister_frame_info  -Wl,--wrap=_Unwind_Find_FDE  -Wl,--wrap=_Unwind_GetGR  -Wl,--wrap=_Unwind_GetCFA  -Wl,--wrap=_Unwind_GetIP  -Wl,--wrap=_Unwind_GetIPInfo  -Wl,--wrap=_Unwind_GetRegionStart  -Wl,--wrap=_Unwind_GetDataRelBase  -Wl,--wrap=_Unwind_GetTextRelBase  -Wl,--wrap=_Unwind_SetIP  -Wl,--wrap=_Unwind_SetGR  -Wl,--wrap=_Unwind_GetLanguageSpecificData  -Wl,--wrap=_Unwind_FindEnclosingFunction  -Wl,--wrap=_Unwind_Resume  -Wl,--wrap=_Unwind_RaiseException  -Wl,--wrap=_Unwind_DeleteException  -Wl,--wrap=_Unwind_ForcedUnwind  -Wl,--wrap=_Unwind_Resume_or_Rethrow  -Wl,--wrap=_Unwind_Backtrace  -Wl,--wrap=__cxa_call_unexpected  -Wl,--wrap=__gxx_personality_v0  -u __cxa_guard_dummy  -lstdc++  esp-idf/pthread/libpthread.a  -lgcc  esp-idf/cxx/libcxx.a  -u __cxx_fatal_exception  esp-idf/app_trace/libapp_trace.a  -lgcov  esp-idf/app_trace/libapp_trace.a  -lgcov  -lc && :
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(blink_example_main.c.obj):(.literal.timer_callback+0x10): undefined reference to `rcl_publish'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(blink_example_main.c.obj):(.literal.micro_ros_task+0x24): undefined reference to `rcl_get_zero_initialized_init_options'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(blink_example_main.c.obj):(.literal.micro_ros_task+0x28): undefined reference to `rcl_init_options_init'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(blink_example_main.c.obj):(.literal.micro_ros_task+0x2c): undefined reference to `rcl_init_options_get_rmw_init_options'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(blink_example_main.c.obj):(.literal.micro_ros_task+0x30): undefined reference to `rmw_uros_options_set_udp_address'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(blink_example_main.c.obj):(.literal.micro_ros_task+0x34): undefined reference to `rclc_support_init_with_options'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(blink_example_main.c.obj):(.literal.micro_ros_task+0x38): undefined reference to `rclc_node_init_default'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(blink_example_main.c.obj):(.literal.micro_ros_task+0x3c): undefined reference to `rosidl_typesupport_c__get_message_type_support_handle__std_msgs__msg__Int32'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(blink_example_main.c.obj):(.literal.micro_ros_task+0x40): undefined reference to `rclc_publisher_init_default'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(blink_example_main.c.obj):(.literal.micro_ros_task+0x44): undefined reference to `rclc_timer_init_default'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(blink_example_main.c.obj):(.literal.micro_ros_task+0x48): undefined reference to `rclc_executor_init'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(blink_example_main.c.obj):(.literal.micro_ros_task+0x4c): undefined reference to `rclc_executor_add_timer'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(blink_example_main.c.obj):(.literal.micro_ros_task+0x50): undefined reference to `rclc_executor_spin_some'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(blink_example_main.c.obj): in function `timer_callback':
/home/arilink/esp32_develop/microros-test04/build/../main/blink_example_main.c:30: undefined reference to `rcl_publish'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(blink_example_main.c.obj): in function `micro_ros_task':
/home/arilink/esp32_develop/microros-test04/build/../main/blink_example_main.c:37: undefined reference to `rcl_get_zero_initialized_init_options'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/arilink/esp32_develop/microros-test04/build/../main/blink_example_main.c:41: undefined reference to `rcl_init_options_init'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/arilink/esp32_develop/microros-test04/build/../main/blink_example_main.c:41: undefined reference to `rcl_init_options_get_rmw_init_options'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/arilink/esp32_develop/microros-test04/build/../main/blink_example_main.c:43: undefined reference to `rmw_uros_options_set_udp_address'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/arilink/esp32_develop/microros-test04/build/../main/blink_example_main.c:46: undefined reference to `rclc_support_init_with_options'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/arilink/esp32_develop/microros-test04/build/../main/blink_example_main.c:50: undefined reference to `rclc_node_init_default'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/arilink/esp32_develop/microros-test04/build/../main/blink_example_main.c:54: undefined reference to `rosidl_typesupport_c__get_message_type_support_handle__std_msgs__msg__Int32'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/arilink/esp32_develop/microros-test04/build/../main/blink_example_main.c:54: undefined reference to `rclc_publisher_init_default'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/arilink/esp32_develop/microros-test04/build/../main/blink_example_main.c:57: undefined reference to `rclc_timer_init_default'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/arilink/esp32_develop/microros-test04/build/../main/blink_example_main.c:66: undefined reference to `rclc_executor_init'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/arilink/esp32_develop/microros-test04/build/../main/blink_example_main.c:66: undefined reference to `rclc_executor_add_timer'
/home/arilink/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/arilink/esp32_develop/microros-test04/build/../main/blink_example_main.c:74: undefined reference to `rclc_executor_spin_some'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
The terminal process "/usr/bin/bash '-c', 'ninja '" terminated with exit code: 1.
arilink commented 1 year ago

I manually put the include file in the micro_ros_espidf_component compiled by idf.py into the corresponding directory of the vscode esp idf project, and then compile it, there will still be problems I am very confused

arilink commented 1 year ago

@pablogs9 Do you have any suggestions for the current situation? Or is there a way I can manually compile this component and see the specific log output to find the problem?

pablogs9 commented 1 year ago

Have you installed the dependencies in the IDF environment? https://github.com/micro-ROS/micro_ros_espidf_component#dependencies

In any case, my recommendation is to use the recommended approach (ESP-IDF CLI) as it is explained in the README.md.

arilink commented 1 year ago

Yes I have installed those dependencies, I know it is more professional to use esp cli, but I need to add micro-ros components to the existing project, it is inconvenient to use micro-ros-espidf as the whole project functions are merged. Or I use esp cli to create a project and then add the micro-ros-espidf component to compile it?

ghost commented 1 year ago

I found the similar issue when I tried to build one of the examples given here.

[ 99%] Built target __idf_wifi_provisioning
[ 99%] Built target __idf_esp_local_ctrl
[ 99%] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj
/home/einfochips/esp-idf/components/micro_ros_espidf_component/examples/int32_publisher/main/main.c:11:10: fatal error: rcl/rcl.h: No such file or directory
 #include <rcl/rcl.h>
          ^~~~~~~~~~~
compilation terminated.
make[2]: *** [esp-idf/main/CMakeFiles/__idf_main.dir/build.make:76: esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:4873: esp-idf/main/CMakeFiles/__idf_main.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
make failed with exit code 2

Tried to build the same using the docker container provided with this repo and was able to build the example application successfully.

esptool.py v3.3.2-dev
Creating esp32 image...
Merged 1 ELF section
Successfully created esp32 image.
Generated /home/espidf/micro_ros_espidf_component/examples/int32_publisher/build/bootloader/bootloader.bin
[997/997] Generating binary image from built executable
esptool.py v3.3.2-dev
Creating esp32 image...
Merged 2 ELF sections
Successfully created esp32 image.
Generated /home/espidf/micro_ros_espidf_component/examples/int32_publisher/build/int32_publisher.bin

Project build complete. To flash, run this command:
/opt/esp/python_env/idf4.3_py3.6_env/bin/python ../../../../../opt/esp/idf/components/esptool_py/esptool/esptool.py -p (PORT) -b 460800 --before default_reset --after hard_reset --chip esp32  write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x10000 build/int32_publisher.bin
or run 'idf.py -p (PORT) flash'

When I tried debugging the same I found that while you're building this component for the first time, the ROS distro's setup file shouldn't be sourced into your current terminal. See here

If you encounter issues during the build process, ensure that you are running in a clean shell environment without the ROS 2 setup script sourced.

I'm not sure what is the reason behind the same?

arilink commented 1 year ago

Yes. This is a serious problem. When I try to add micro ros as a component to the project and compile it, I get an error

@.***

From: meetgandhi21 Date: 2022-10-06 14:44 To: micro-ROS/micro_ros_espidf_component CC: arilink; Mention Subject: Re: [micro-ROS/micro_ros_espidf_component] vscode+espidf Could not complete compilation Could not find rcl related files (Issue #154) I found the similar issue when I tried to build one of the examples given here. [ 99%] Built target idf_wifi_provisioning [ 99%] Built target idf_esp_local_ctrl [ 99%] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj /home/einfochips/esp-idf/components/micro_ros_espidf_component/examples/int32_publisher/main/main.c:11:10: fatal error: rcl/rcl.h: No such file or directory

include <rcl/rcl.h>

      ^~~~~~~~~~~

compilation terminated. make[2]: [esp-idf/main/CMakeFiles/__idf_main.dir/build.make:76: esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj] Error 1 make[1]: [CMakeFiles/Makefile2:4873: esp-idf/main/CMakeFiles/__idf_main.dir/all] Error 2 make: *** [Makefile:136: all] Error 2 make failed with exit code 2

Tried to build the same using the docker container provided with this repo and was able to build the example application successfully. esptool.py v3.3.2-dev Creating esp32 image... Merged 1 ELF section Successfully created esp32 image. Generated /home/espidf/micro_ros_espidf_component/examples/int32_publisher/build/bootloader/bootloader.bin [997/997] Generating binary image from built executable esptool.py v3.3.2-dev Creating esp32 image... Merged 2 ELF sections Successfully created esp32 image. Generated /home/espidf/micro_ros_espidf_component/examples/int32_publisher/build/int32_publisher.bin Project build complete. To flash, run this command: /opt/esp/python_env/idf4.3_py3.6_env/bin/python ../../../../../opt/esp/idf/components/esptool_py/esptool/esptool.py -p (PORT) -b 460800 --before default_reset --after hard_reset --chip esp32 write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x10000 build/int32_publisher.bin or run 'idf.py -p (PORT) flash'

When I tried debugging the same I found that while you're building this component for the first time, the ROS distro's setup file shouldn't be sourced into your current terminal. See here If you encounter issues during the build process, ensure that you are running in a clean shell environment without the ROS 2 setup script sourced. I'm not sure what is the reason behind the same? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

ManvithRaj commented 1 year ago

Hello @pablogs9 and others to add to this i am also facing the similar issue .

I have cloned micro_ros_idf_component into esp-idf components folder and tried building example int32_publisher with RTPS Enabled. i installed dependencies also as said with below commands mentioned . $IDF_PATH/export.sh pip3 install catkin_pkg lark-parser empy colcon-common-extensions

After that i have given command esp-idf set-target esp32 which is trying to build micro_ros_idf_component and generated two extra folders in it ie. 1. micro_ros_src 2. micro_ros_dev somehow the build process not generating all the required files. I could see below messages with error.

i could see only 3 folders in install directory of micro ros component

error error2

After above step if i proceed with esp-idf set-target esp32 and esp-idf menuconfig still i could able to do these configurations.

But during idf.py build i am getting issues in following order

  1. rcl/rcl.h include issue ---->Found this file in esp_idf_microros_component install/include folder I have added this path manually in cmakelist.txt of esp_idf_microros_component
  2. rmw/init.h include issue ---> found this file also. Added this also Similarly

like this many .h file issues came I have added those path manually in cmakelist.txt

Finally . msgs/int32.h issue -----> this file was not found as the build generation for component not happened as I said early.

Could you please help us on what might be missing since i am new to this i might be not aware much about micro-ROS and why we are unable to build like video you shared at link https://asciinema.org/a/G39IxQZkzipXSxrnbqepXh6iF.

wojciechmadry commented 9 months ago

Hey, I'm fighting the same issue about missing "rcl.h" file. I don't know if it helps, but here is a simple Dockerfile which shows the problem:

FROM ros:iron-ros-core

ENV IDF_PATH /ws/esp-idf
WORKDIR /ws

RUN apt update \
    && apt install -y \
    git \
    python3-pip \
    libusb-1.0-0-dev \
    python3.10-venv \
    && pip3 install catkin_pkg lark-parser empy colcon-common-extensions

RUN mkdir -p /ws/src \
    && git clone -b v5.0 https://github.com/espressif/esp-idf ${IDF_PATH} \
    && cd ${IDF_PATH} \
    && git submodule init && git submodule update \
    && sh ${IDF_PATH}/install.sh

RUN mkdir -p /ws/int32_publisher/components \
    && git clone --recursive -b iron \
    https://github.com/micro-ROS/micro_ros_espidf_component.git \
    /ws/int32_publisher/components/micro_ros_espidf_component \
    && cp -r /ws/int32_publisher/components/micro_ros_espidf_component/examples/int32_publisher/* /ws/int32_publisher

RUN cd /ws/int32_publisher \
    && . ${IDF_PATH}/export.sh \
    && idf.py set-target esp32 \
    && idf.py build

image

pablogs9 commented 9 months ago

In ROS docker the ROS environment is sourced by default. Micro Ros needs it to be disabled. Could you try that?

wojciechmadry commented 9 months ago

Hey @pablogs9 , the error message is the same. I will try to switch to a normal user and don't use root. After switching to normal user error still is same about "rcl.h"

Dockerfile with ubuntu22:04 as a base:

FROM ubuntu:22.04

ENV IDF_PATH /ws/esp-idf
WORKDIR /ws

RUN apt update -q && \
    apt install -yq sudo lsb-release gosu nano && \
    rm -rf /var/lib/apt/lists/*

ARG USER_ID=espidf

RUN useradd --create-home --home-dir /home/$USER_ID --shell /bin/bash --user-group --groups adm,sudo $USER_ID && \
    echo $USER_ID:$USER_ID | chpasswd && \
    echo "$USER_ID ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

USER $USER_ID

RUN sudo apt update \
    && sudo apt install -y \
    git \
    python3-pip \
    libusb-1.0-0-dev \
    python3.10-venv \
    software-properties-common \
    curl \
    && pip3 install catkin_pkg lark-parser empy colcon-common-extensions

RUN sudo add-apt-repository universe -y

RUN sudo apt update \
    && sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg \
    && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

ENV DEBIAN_FRONTEND noninteractive
ENV TZ=Europe/Warsaw
RUN sudo ln -snf /usr/share/zoneinfo/$TZ /etc/localtime &&  echo $TZ | sudo tee -a /etc/timezone

RUN sudo apt update \
    && sudo apt install -y \
    ros-iron-ros-base

RUN sudo chown -R ${USER_ID} /ws

RUN mkdir -p /ws/src \
    && git clone -b v5.0 https://github.com/espressif/esp-idf ${IDF_PATH} \
    && cd ${IDF_PATH} \
    && git submodule init && git submodule update \
    && sh ${IDF_PATH}/install.sh

RUN mkdir -p /ws/int32_publisher/components \
    && git clone --recursive -b iron \
    https://github.com/micro-ROS/micro_ros_espidf_component.git \
    /ws/int32_publisher/components/micro_ros_espidf_component \
    && cp -r /ws/int32_publisher/components/micro_ros_espidf_component/examples/int32_publisher/* /ws/int32_publisher

RUN cd /ws/int32_publisher \
    && . ${IDF_PATH}/export.sh \
    && idf.py set-target esp32 \
    && idf.py build
pablogs9 commented 9 months ago

This one worked for me:

FROM espressif/idf:release-v5.0

RUN git clone --recursive -b iron https://github.com/micro-ROS/micro_ros_espidf_component.git \
    && apt update && apt install -y python3-pip \
    && . ${IDF_PATH}/export.sh \
    && pip3 install catkin_pkg lark-parser empy colcon-common-extensions \
    && pip3 install importlib-resources \
    && /usr/bin/pip3 install catkin_pkg lark-parser empy colcon-common-extensions importlib-resources \
    && cd micro_ros_espidf_component/examples/int32_publisher \
    && idf.py set-target esp32 \
    && idf.py build
wojciechmadry commented 9 months ago

Hi, It worked - Thanks. espressif based on ubuntu20 so I switched the system in my Dockerfile to ubuntu20, but the error was the same. So I started digging into idf image. And steps below fixed my problem:

  1. Install dependencies (I'm not sure which package did that, but after installing it ROS packages starts building):
    apt-get install -y \
    apt-utils \
    bison \
    ca-certificates \
    ccache \
    check \
    curl \
    flex \
    git \
    git-lfs \
    gperf \
    lcov \
    libbsd-dev \
    libffi-dev \
    libncurses-dev \
    libusb-1.0-0-dev \
    make \
    ninja-build \
    python3 \
    python3-venv \
    ruby \
    unzip \
    wget \
    xz-utils \
    zip \
    bzip2 \
    libglib2.0-0 \
    libpixman-1-0 \
    libslirp0 \
    ament-cmake-core
  2. Remove old build
  3. First source and after source install packages (This comment helps me):
    source ./export.sh
    pip3 install catkin_pkg lark-parser empy colcon-common-extensions
  4. Rebuild project
    idf.py build

    Or if you still have a problem try to rebuild ROS packages:

    idf.py clean-microros