micro-ROS / micro_ros_setup

Support macros for building micro-ROS-based firmware.
Apache License 2.0
336 stars 128 forks source link

Build fail for Cortex-R5F #684

Open sinha-shreyash opened 5 months ago

sinha-shreyash commented 5 months ago

Issue template

Steps to reproduce the issue

mkdir microros_ws && cd microros_ws git clone -b humble https://github.com/micro-ROS/micro_ros_setup.git src/micro_ros_setup rosdep update && rosdep install --from-paths src --ignore-src -y colcon build source install/local_setup.bash ros2 run micro_ros_setup create_firmware_ws.sh generate_lib touch my_custom_toolchain.cmake touch my_custom_colcon.meta ros2 run micro_ros_setup build_firmware.sh <absolute path to my_custom_toolchain.cmake> <absolute path my_custom_colcon.meta>

Expected behavior

Firmware should build creating static libraries and required header files inside firmware/build/libmicroros.a and firmware/build/include

Actual behavior

actual_output.txt.txt

Additional information

attaching my custom toolchain cmake and my custom colcon meta file my_custom_toolchain.cmake.txt my_custom_colcon.meta.txt I tried removing the optimization flags in my_custom_toolchain.cmake file when I searched about it, but issue still remains

pablogs9 commented 5 months ago

It seems that your error is in #include <stdio.h>:

In file included from /usr/arm-linux-gnueabi/include/stdio.h:894,
                 from /home/edgeai/microros_ws/firmware/mcu_ws/uros/rcutils/include/rcutils/error_handling.h:32,
                 from /home/edgeai/microros_ws/firmware/mcu_ws/uros/rcutils/src/error_handling.c:22:
/usr/arm-linux-gnueabi/include/bits/stdio2.h: In function ‘sprintf’:
/usr/arm-linux-gnueabi/include/bits/stdio2.h:38:10: error: invalid use of ‘__builtin_va_arg_pack ()’
   38 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   39 |                                   __glibc_objsize (__s), __fmt,
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   40 |                                   __va_arg_pack ());