micro_ros_setup
micro_ros_setup copied to clipboard
Build fail for Cortex-R5F
Issue template
- Hardware description: Cortex R5F, ARM v7-R
- RTOS: FreeRTOS
- Installation type: micro_ros_setup
- Version or commit hash: humble
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
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
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 ());