micro-ROS / micro_ros_espidf_component

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

atomic patch build failed for ESP32C3 #249

Closed shvass closed 3 days ago

shvass commented 1 month ago

atomic patch at PR #19 leads to build failure

Steps to reproduce the issue

Actual behavior

build fails with the following logs

-- App "icm-fusion" version: 1
-- Adding linker script /home/aksh/projects/esp/icm-fusion/build/esp-idf/esp_system/ld/memory.ld
-- Adding linker script /home/aksh/esp/v5.2.1/esp-idf/components/esp_system/ld/esp32c3/sections.ld.in
-- Adding linker script /home/aksh/esp/v5.2.1/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.ld
-- Adding linker script /home/aksh/esp/v5.2.1/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.api.ld
-- Adding linker script /home/aksh/esp/v5.2.1/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.libgcc.ld
-- Adding linker script /home/aksh/esp/v5.2.1/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.newlib.ld
-- Adding linker script /home/aksh/esp/v5.2.1/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.version.ld
-- Adding linker script /home/aksh/esp/v5.2.1/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.eco3.ld
-- Adding linker script /home/aksh/esp/v5.2.1/esp-idf/components/soc/esp32c3/ld/esp32c3.peripherals.ld
-- Using Micro XRCE-DDS middleware
echo /home/aksh/projects/esp/icm-fusion/components/micro_ros_espidf_component/micro_ros_src/atomic_workaround; \
        mkdir /home/aksh/projects/esp/icm-fusion/components/micro_ros_espidf_component/micro_ros_src/atomic_workaround; cd /home/aksh/projects/esp/icm-fusion/components/micro_ros_espidf_component/micro_ros_src/atomic_workaround; \
        /home/aksh/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20230928/riscv32-esp-elf/bin/riscv32-esp-elf-ar x /home/aksh/projects/esp/icm-fusion/components/micro_ros_espidf_component/micro_ros_src/install/lib/librcutils.a; \
        /home/aksh/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20230928/riscv32-esp-elf/bin/riscv32-esp-elf-strip atomic_64bits.c.obj --strip-symbol=__atomic_fetch_add_8; \
        if [ 5 -ge 4 ] && [ 2 -ge 3 ]; then \
                /home/aksh/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20230928/riscv32-esp-elf/bin/riscv32-esp-elf-strip atomic_64bits.c.obj --strip-symbol=__atomic_load_8; \
                /home/aksh/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20230928/riscv32-esp-elf/bin/riscv32-esp-elf-strip atomic_64bits.c.obj --strip-symbol=__atomic_store_8; \
                /home/aksh/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20230928/riscv32-esp-elf/bin/riscv32-esp-elf-strip atomic_64bits.c.obj --strip-symbol=__atomic_exchange_8; \
        fi; \
        if [ 5 -ge 4 ] && [ 2 -ge 4 ]; then \
                /home/aksh/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20230928/riscv32-esp-elf/bin/riscv32-esp-elf-strip atomic_64bits.c.obj --strip-symbol=__atomic_load_8; \
                /home/aksh/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20230928/riscv32-esp-elf/bin/riscv32-esp-elf-strip atomic_64bits.c.obj --strip-symbol=__atomic_store_8; \
        fi; \
        if [ 5 -ge 5 ] && [ 2 -ge 0 ]; then \
                /home/aksh/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20230928/riscv32-esp-elf/bin/riscv32-esp-elf-strip atomic_64bits.c.obj --strip-symbol=__atomic_load_8; \
                /home/aksh/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20230928/riscv32-esp-elf/bin/riscv32-esp-elf-strip atomic_64bits.c.obj --strip-symbol=__atomic_store_8; \
                /home/aksh/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20230928/riscv32-esp-elf/bin/riscv32-esp-elf-strip atomic_64bits.c.obj --strip-symbol=__atomic_exchange_8; \
        fi; \
        /home/aksh/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20230928/riscv32-esp-elf/bin/riscv32-esp-elf-ar rc -s librcutils.a *.obj; \
        cp -rf librcutils.a  /home/aksh/projects/esp/icm-fusion/components/micro_ros_espidf_component/micro_ros_src/install/lib/librcutils.a; \
        rm -rf /home/aksh/projects/esp/icm-fusion/components/micro_ros_espidf_component/micro_ros_src/atomic_workaround; \
        cd ..;
/home/aksh/projects/esp/icm-fusion/components/micro_ros_espidf_component/micro_ros_src/atomic_workaround
/bin/sh: line 22: cd: ..: No such file or directory
make: *** [libmicroros.mk:115: patch_atomic] Error 1
CMake Error at components/micro_ros_espidf_component/CMakeLists.txt:77 (message):
  FAILED: 2

-- Configuring incomplete, errors occurred!

 *  The terminal process "/usr/bin/cmake '-G=Ninja', '-DPYTHON_DEPS_CHECKED=1', '-DESP_PLATFORM=1', '-B=/home/aksh/projects/esp/icm-fusion/build', '-S=/home/aksh/projects/esp/icm-fusion'" terminated with exit code: 1.
shvass commented 1 month ago

created PR #250 addressing this issue.