添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
非常酷的匕首  ·  王树森:学 DRL ...·  1 月前    · 
飞奔的铁板烧  ·  A .py script to 100% ...·  2 月前    · 
逆袭的剪刀  ·  Ma5670 Series Ma5671 ...·  2 月前    · 
热心肠的红烧肉  ·  魔性论坛·  3 月前    · 

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement . We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hi micro-ROS team,
I really appreciate the effort you all put on making microROS possible. I have a question from issue #315 . In the steps that you mentioned, can you please explain in the detail the following:

How can I know the local path of my desired compiler? I install gcc-arm-none-eabi using sudo apt-get from this guide https://installati.one/ubuntu/20.04/gcc-arm-none-eabi/ I got 2019 version (arm-none-eabi-gcc (15:9-2019-q4-0ubuntu1) 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599])

Step 3 involves calling docker to build the precompiled library. However, I'm not using a docker. My setup is Arduino Due, Jetson Nano with Xubuntu 20.04, ROS2 Foxy, microros Foxy 2.0.5. So how do I build the library without using the docker?

Hopefully, you could help with this. Thank you.

"Hello,

As you can see on the lib generation script, we use the same compiler version as the Arduino IDE for each board.

Your board is not currently supported by the library generator, but you can modify the script to use your own gcc version:

Clone this repo and modify this line to: export TOOLCHAIN_PREFIX=/toolchain/bin/arm-none-eabi-
micro_ros_arduino/extras/library_generation/library_generation.sh Line 88 94cb206

Set the local path of the desired compiler:
export GCC_PATH=/local_path/gcc-arm-none-eabi-10-2020-q4-major (Use your own local path)

Call the docker generator from the repo folder:
docker run -it --rm -v ${GCC_PATH}:/toolchain -v $(pwd):/project --env MICROROS_LIBRARY_FOLDER=extras microros/micro_ros_static_library_builder:foxy -p cortex_m3

The generated library should be on src/cortex-m3/libmicroros.a :

~/workspace/micro_ros_arduino$ strings src/cortex-m3/libmicroros.a | grep "GCC: ("
$ GCC: (GNU Arm Embedded Toolchain 10-2020-q4-major) 10.2.1 20201103 (release)

Originally posted by @Acuadros95 in #315 (comment) "

So how do I build the library without using the docker?

If you do not want to use docker you have instructions for building micro-ROS libraries here: https://micro.ros.org/docs/tutorials/advanced/create_custom_static_library/

In this tutorial you will be asked for colcon.meta and toolchain.cmake files, you can use the ones here for reference.

How can I know the local path of my desired compiler?

check which

Hi @pablogs9,

I have tried to follow your recommendations but I having some trouble here. Below is what I have done:

I git clone the micro_ros_arduino repo into the src folder of my microros_ws that I make by following this guide https://micro.ros.org/docs/tutorials/core/first_application_linux/

I then use git checkout foxy to switch to foxy branch because I'm using ROS2 Foxy

I change the library_generation.sh line 88
from:
export TOOLCHAIN_PREFIX=/uros_ws/gcc-arm-none-eabi-4_8-2014q1/bin/arm-none-eabi-
export TOOLCHAIN_PREFIX=/toolchain/bin/arm-none-eabi-

Note that when I search for my desired compiler, I did this:
which arm-none-eabi-gcc
Result:
/usr/bin/arm-none-eabi-gcc
When I check my gcc --version, result is

gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0

Since I try to not use docker, I followed the instructions to build the micro-ROS libraries https://micro.ros.org/docs/tutorials/advanced/create_custom_static_library/ . As for the colcon.meta and toolchain.cmake files, I didn't change it. I just used the ones in micro_ros_arduino/extras/library_generation folder.

However, when I tried to run build firmware as per below instructions, I get an error about -mthumb
What I input in terminal

cd microros_ws
ros2 run micro_ros_setup build_firmware.sh /home/prostrain/microros_ws/src/micro_ros_arduino/extras/library_generation/cortex_m3_toolchain.cmake /home/prostrain/microros_ws/src/micro_ros_arduino/extras/library_generation/colcon.meta

Error that I got:

Crosscompiled environment: cleaning path
Building firmware for generate_lib platform generic
Using provided meta: /home/prostrain/microros_ws/src/micro_ros_arduino/extras/library_generation/colcon.meta
Starting >>> tinydir_vendor
Starting >>> rosidl_adapter
Starting >>> rosidl_typesupport_interface                                         
Starting >>> microcdr
--- stderr: microcdr                                                                                                              
gcc: error: unrecognized command line option ‘-mthumb’
make[5]: *** [CMakeFiles/microcdr.dir/build.make:66: CMakeFiles/microcdr.dir/src/c/common.c.obj] Error 1
make[5]: *** Waiting for unfinished jobs....
gcc: error: unrecognized command line option ‘-mthumb’
make[5]: *** [CMakeFiles/microcdr.dir/build.make:105: CMakeFiles/microcdr.dir/src/c/types/array.c.obj] Error 1
gcc: error: unrecognized command line option ‘-mthumb’
make[5]: *** [CMakeFiles/microcdr.dir/build.make:79: CMakeFiles/microcdr.dir/src/c/types/basic.c.obj] Error 1
gcc: error: unrecognized command line option ‘-mthumb’
make[5]: *** [CMakeFiles/microcdr.dir/build.make:92: CMakeFiles/microcdr.dir/src/c/types/string.c.obj] Error 1
make[4]: *** [CMakeFiles/Makefile2:79: CMakeFiles/microcdr.dir/all] Error 2
make[3]: *** [Makefile:133: all] Error 2
make[2]: *** [CMakeFiles/ucdr.dir/build.make:115: ucdr-prefix/src/ucdr-stamp/ucdr-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:79: CMakeFiles/ucdr.dir/all] Error 2
make: *** [Makefile:87: all] Error 2
Failed   <<< microcdr [3.00s, exited with code 2]
Aborted  <<< tinydir_vendor [3.23s]                                                                            
Aborted  <<< rosidl_typesupport_interface [3.16s]
Aborted  <<< rosidl_adapter [3.22s]
Summary: 0 packages finished [5.05s]
  1 package failed: microcdr
  3 packages aborted: rosidl_adapter rosidl_typesupport_interface tinydir_vendor
  1 package had stderr output: microcdr
  57 packages not processed

How can I solve this error? Thank you.

It seems that your toolchain is using gcc instead your arm-none-eabi-gcc That's why -mthumb is not recognized.

Check that the cortex_m3_toolchain.cmake you are using is using $ENV{TOOLCHAIN_PREFIX}. That means that you are taking the environment variable. This is valid for the micro-ROS Arduino build system.

Please check your toolchain.cmake and use something like set(CMAKE_C_COMPILER [YOUR PATH TO THE XCOMPILER]gcc)

I see. I tried your recommendation and it can be compiled now but I got a 38 packages had stderr output. Is this acceptable error or not?
Below are what I have done:

  • I edited cortex_m3_toolchain.cmake in /home/prostrain/microros_ws/src/micro_ros_arduino/extras/library_generation/cortex_m3_toolchain.cmake
  • SET(CMAKE_SYSTEM_NAME Generic)
    set(CMAKE_CROSSCOMPILING 1)
    set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
    #set(CMAKE_C_COMPILER $ENV{TOOLCHAIN_PREFIX}gcc)
    #set(CMAKE_CXX_COMPILER $ENV{TOOLCHAIN_PREFIX}g++)
    set(CMAKE_C_COMPILER /usr/bin/arm-none-eabi-gcc)
    set(CMAKE_CXX_COMPILER /usr/bin/arm-none-eabi-g++)
    SET(CMAKE_C_COMPILER_WORKS 1 CACHE INTERNAL "")
    SET(CMAKE_CXX_COMPILER_WORKS 1 CACHE INTERNAL "")
    set(FLAGS "-O2 -ffunction-sections -fdata-sections -fno-exceptions -mcpu=cortex-m3 -nostdlib -DARDUINO=10813 -mthumb --param max-inline-insns-single=500 -DF_CPU=84000000L -D'RCUTILS_LOG_MIN_SEVERITY=RCUTILS_LOG_MIN_SEVERITY_NONE'" CACHE STRING "" FORCE)
    set(CMAKE_C_FLAGS_INIT "-std=c11 ${FLAGS} -DCLOCK_MONOTONIC=0 -D'__attribute__(x)='" CACHE STRING "" FORCE)
    set(CMAKE_CXX_FLAGS_INIT "-std=c++11 ${FLAGS} -fno-rtti -DCLOCK_MONOTONIC=0 -D'__attribute__(x)='" CACHE STRING "" FORCE)
    set(__BIG_ENDIAN__ 0)
    
  • In terminal, I did this:
    cd microros_ws
  • ros2 run micro_ros_setup build_firmware.sh /home/prostrain/microros_ws/src/micro_ros_arduino/extras/library_generation/cortex_m3_toolchain.cmake /home/prostrain/microros_ws/src/micro_ros_arduino/extras/library_generation/colcon.meta

  • The result that I get:
  • Crosscompiled environment: cleaning path
    Building firmware for generate_lib platform generic
    Using provided meta: /home/prostrain/microros_ws/src/micro_ros_arduino/extras/library_generation/colcon.meta
    Starting >>> tinydir_vendor
    Starting >>> rosidl_adapter
    Starting >>> rosidl_typesupport_interface                     
    Starting >>> microcdr
    Finished <<< rosidl_typesupport_interface [2.79s]                   
    Starting >>> rmw_implementation_cmake
    Finished <<< rosidl_adapter [3.22s]                                 
    Starting >>> rosidl_parser
    Finished <<< rmw_implementation_cmake [3.38s]                           
    Starting >>> tracetools
    Finished <<< rosidl_parser [3.83s]                                      
    Starting >>> rosidl_cmake
    Finished <<< microcdr [7.64s]                                           
    Starting >>> microxrcedds_client
    Finished <<< tinydir_vendor [11.2s]                                        
    Starting >>> rcutils
    Finished <<< rosidl_cmake [4.38s]                                     
    Starting >>> tracetools_trace
    Finished <<< tracetools [7.38s]                                       
    Starting >>> test_interface_files
    Finished <<< test_interface_files [2.58s]                                      
    Starting >>> tracetools_read                                                   
    Finished <<< tracetools_trace [6.41s]                                        
    --- stderr: microxrcedds_client                                               
    /home/prostrain/microros_ws/firmware/mcu_ws/eProsima/Micro-XRCE-DDS-Client/src/c/util/time.c: In function 'uxr_nanos':
    /home/prostrain/microros_ws/firmware/mcu_ws/eProsima/Micro-XRCE-DDS-Client/src/c/util/time.c:60:5: warning: implicit declaration of function 'clock_gettime' [-Wimplicit-function-declaration]
       60 |     clock_gettime(CLOCK_REALTIME, &ts);
          |     ^~~~~~~~~~~~~
    Finished <<< microxrcedds_client [10.2s]
    Starting >>> tracetools_launch
    Starting >>> libyaml_vendor                                        
    --- stderr: rcutils                                                 
    In function 'rcutils_char_array_strncat',
        inlined from 'rcutils_char_array_strcat' at /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/char_array.c:239:10:
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/char_array.c:224:3: warning: 'strncat' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
      224 |   strncat(char_array->buffer, src, n);
          |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/char_array.c: In function 'rcutils_char_array_strcat':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/char_array.c:239:10: note: length computed here
      239 |   return rcutils_char_array_strncat(char_array, src, strlen(src));
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/error_handling.c:35:
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/./error_handling_helpers.h: In function '__rcutils_convert_uint64_t_into_c_str':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/./error_handling_helpers.h:109:48: warning: unused parameter 'number' [-Wunused-parameter]
      109 | __rcutils_convert_uint64_t_into_c_str(uint64_t number, char * buffer, size_t buffer_size)
          |                                       ~~~~~~~~~^~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/./error_handling_helpers.h:109:63: warning: unused parameter 'buffer' [-Wunused-parameter]
      109 | _rcutils_convert_uint64_t_into_c_str(uint64_t number, char * buffer, size_t buffer_size)
          |                                                       ~~~~~~~^~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/./error_handling_helpers.h:109:78: warning: unused parameter 'buffer_size' [-Wunused-parameter]
      109 | convert_uint64_t_into_c_str(uint64_t number, char * buffer, size_t buffer_size)
          |                                                             ~~~~~~~^~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/./error_handling_helpers.h: In function '__rcutils_format_error_string':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/./error_handling_helpers.h:142:28: warning: unused parameter 'error_string' [-Wunused-parameter]
      142 |   rcutils_error_string_t * error_string,
          |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/./error_handling_helpers.h:143:33: warning: unused parameter 'error_state' [-Wunused-parameter]
      143 |   const rcutils_error_state_t * error_state)
          |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/error_handling.c: In function 'rcutils_get_error_string':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/error_handling.c:240:38: warning: initializer-string for array of chars is too long
      240 |     return (rcutils_error_string_t) {"error not set"};  // NOLINT(readability/braces)
          |                                      ^~~~~~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/error_handling.c:240:38: note: (near initialization for '(anonymous).str')
    In file included from /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/error_handling.c:35:
    At top level:
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/./error_handling_helpers.h:109:1: warning: '__rcutils_convert_uint64_t_into_c_str' defined but not used [-Wunused-function]
      109 | __rcutils_convert_uint64_t_into_c_str(uint64_t number, char * buffer, size_t buffer_size)
          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/./error_handling_helpers.h:91:1: warning: '__rcutils_reverse_str' defined but not used [-Wunused-function]
       91 | __rcutils_reverse_str(char * string_in, size_t string_len)
          | ^~~~~~~~~~~~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/logging.c: In function 'rcutils_get_env_var_zero_or_one':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/logging.c:127:35: warning: unused parameter 'zero_semantic' [-Wunused-parameter]
      127 |   const char * name, const char * zero_semantic,
          |                      ~~~~~~~~~~~~~^~~~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/logging.c:128:16: warning: unused parameter 'one_semantic' [-Wunused-parameter]
      128 |   const char * one_semantic)
          |   ~~~~~~~~~~~~~^~~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/shared_library.c: In function 'rcutils_get_symbol':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/shared_library.c:121:23: warning: implicit declaration of function 'dlsym' [-Wimplicit-function-declaration]
      121 |   void * lib_symbol = dlsym(lib->lib_pointer, symbol_name);
          |                       ^~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/shared_library.c:121:23: warning: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/shared_library.c:122:18: warning: implicit declaration of function 'dlerror'; did you mean 'perror'? [-Wimplicit-function-declaration]
      122 |   char * error = dlerror();
          |                  ^~~~~~~
          |                  perror
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/shared_library.c:122:18: warning: initialization of 'char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/shared_library.c: In function 'rcutils_has_symbol':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/shared_library.c:159:23: warning: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
      159 |   void * lib_symbol = dlsym(lib->lib_pointer, symbol_name);
          |                       ^~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/shared_library.c:160:20: warning: comparison between pointer and integer
      160 |   return dlerror() == NULL && lib_symbol != 0;
          |                    ^~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/shared_library.c: In function 'rcutils_unload_shared_library':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/shared_library.c:178:20: warning: implicit declaration of function 'dlclose'; did you mean 'pclose'? [-Wimplicit-function-declaration]
      178 |   int error_code = dlclose(lib->lib_pointer);
          |                    ^~~~~~~
          |                    pclose
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/shared_library.c: In function 'rcutils_get_platform_library_name':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/shared_library.c:201:16: warning: unused parameter 'buffer_size' [-Wunused-parameter]
      201 |   unsigned int buffer_size,
          |   ~~~~~~~~~~~~~^~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/shared_library.c:202:8: warning: unused parameter 'debug' [-Wunused-parameter]
      202 |   bool debug)
          |        ^
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/atomic_64bits.c:53:10: warning: mismatch in argument 1 type of built-in function '__atomic_load_8'; expected 'const volatile void *' [-Wbuiltin-declaration-mismatch]
       53 | uint64_t __atomic_load_8(uint64_t *mem, int model) {
          |          ^~~~~~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/atomic_64bits.c:62:6: warning: mismatch in argument 1 type of built-in function '__atomic_store_8'; expected 'volatile void *' [-Wbuiltin-declaration-mismatch]
       62 | void __atomic_store_8(uint64_t *mem, uint64_t val, int model) {
          |      ^~~~~~~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/atomic_64bits.c:70:10: warning: mismatch in argument 1 type of built-in function '__atomic_exchange_8'; expected 'volatile void *' [-Wbuiltin-declaration-mismatch]
       70 | uint64_t __atomic_exchange_8(uint64_t *mem, uint64_t val, int model) {
          |          ^~~~~~~~~~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/atomic_64bits.c:80:10: warning: mismatch in argument 1 type of built-in function '__atomic_fetch_add_8'; expected 'volatile void *' [-Wbuiltin-declaration-mismatch]
       80 | uint64_t __atomic_fetch_add_8(uint64_t *mem, uint64_t val, int model) {
          |          ^~~~~~~~~~~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/time_unix.c:42:4: warning: #warning is a GCC extension
       42 | #  warning no monotonic clock function available
          |    ^~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/time_unix.c:42:4: warning: #warning no monotonic clock function available [-Wcpp]
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/time_unix.c: In function 'rcutils_system_time_now':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcutils/src/time_unix.c:64:3: warning: implicit declaration of function 'clock_gettime' [-Wimplicit-function-declaration]
       64 |   clock_gettime(CLOCK_REALTIME, &timespec_now);
          |   ^~~~~~~~~~~~~
    Finished <<< rcutils [10.7s]
    Starting >>> rosidl_runtime_c
    Finished <<< tracetools_read [5.85s]                             
    Starting >>> rcl_logging_noop
    Finished <<< tracetools_launch [5.59s]                             
    Starting >>> ros2trace                                                    
    --- stderr: rcl_logging_noop                                              
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      CMakeLists.txt:15 (find_package)
    Finished <<< rcl_logging_noop [5.08s]
    Starting >>> rosidl_generator_dds_idl
    --- stderr: rosidl_runtime_c                                              
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      CMakeLists.txt:15 (find_package)
    Finished <<< rosidl_runtime_c [6.01s]
    Starting >>> rmw
    Finished <<< ros2trace [5.45s]                                             
    Starting >>> rosidl_generator_c                                            
    Finished <<< rosidl_generator_dds_idl [5.45s]                              
    Finished <<< rosidl_generator_c [7.50s]                                    
    --- stderr: rmw                                                            
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      CMakeLists.txt:21 (find_package)
    In file included from /home/prostrain/microros_ws/firmware/mcu_ws/ros2/rmw/rmw/src/validate_full_topic_name.c:17:
    /home/prostrain/microros_ws/firmware/mcu_ws/ros2/rmw/rmw/src/validate_full_topic_name.c: In function 'rmw_validate_full_topic_name_with_size':
    /home/prostrain/microros_ws/firmware/mcu_ws/ros2/rmw/rmw/src/validate_full_topic_name.c:106:29: warning: array subscript has type 'char' [-Wchar-subscripts]
      106 |       if (isdigit(topic_name[i + 1]) != 0) {
          |                   ~~~~~~~~~~^~~~~~~
    In file included from /home/prostrain/microros_ws/firmware/mcu_ws/ros2/rmw/rmw/src/validate_node_name.c:17:
    /home/prostrain/microros_ws/firmware/mcu_ws/ros2/rmw/rmw/src/validate_node_name.c: In function 'rmw_validate_node_name_with_size':
    /home/prostrain/microros_ws/firmware/mcu_ws/ros2/rmw/rmw/src/validate_node_name.c:72:24: warning: array subscript has type 'char' [-Wchar-subscripts]
       72 |   if (isdigit(node_name[0]) != 0) {
          |               ~~~~~~~~~^~~
    Finished <<< rmw [11.2s]
    Starting >>> rosidl_typesupport_microxrcedds_c
    --- stderr: libyaml_vendor                                                  
    CMake Warning (dev) at CMakeLists.txt:55 (add_library):
      ADD_LIBRARY called with SHARED option but the target platform does not
      support dynamic linking.  Building a STATIC library instead.  This may lead
      to problems.
    This warning is for project developers.  Use -Wno-dev to suppress it.
    /home/prostrain/microros_ws/firmware/mcu_ws/build/libyaml_vendor/libyaml-10c9078-prefix/src/libyaml-10c9078/src/api.c: In function 'yaml_strdup':
    /home/prostrain/microros_ws/firmware/mcu_ws/build/libyaml_vendor/libyaml-10c9078-prefix/src/libyaml-10c9078/src/api.c:66:27: warning: implicit declaration of function 'strdup'; did you mean 'strcmp'? [-Wimplicit-function-declaration]
       66 |     return (yaml_char_t *)strdup((char *)str);
          |                           ^~~~~~
          |                           strcmp
    Finished <<< libyaml_vendor [22.2s]
    --- stderr: rosidl_typesupport_microxrcedds_c                                 
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/rosidl_runtime_cConfig.cmake:41 (include)
      CMakeLists.txt:22 (find_package)
    Finished <<< rosidl_typesupport_microxrcedds_c [4.88s]
    Starting >>> rosidl_typesupport_c
    --- stderr: rosidl_typesupport_c                                 
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      CMakeLists.txt:21 (find_package)
    Finished <<< rosidl_typesupport_c [7.37s]
    Starting >>> rosidl_default_runtime
    Starting >>> rosidl_default_generators                  
    Finished <<< rosidl_default_runtime [2.90s]                                   
    Finished <<< rosidl_default_generators [2.97s]                     
    Starting >>> builtin_interfaces
    Starting >>> micro_ros_msgs                         
    Starting >>> unique_identifier_msgs
    Starting >>> lifecycle_msgs                                         
    --- stderr: unique_identifier_msgs                                            
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/rmwConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/rosidl_typesupport_microxrcedds_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_c-extras.cmake:13 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generators-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generatorsConfig.cmake:41 (include)
      CMakeLists.txt:15 (find_package)
    Finished <<< unique_identifier_msgs [11.5s]
    Starting >>> std_srvs
    --- stderr: builtin_interfaces              
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/rmwConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/rosidl_typesupport_microxrcedds_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_c-extras.cmake:13 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generators-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generatorsConfig.cmake:41 (include)
      CMakeLists.txt:14 (find_package)
    Finished <<< builtin_interfaces [13.9s]
    Starting >>> std_msgs
    --- stderr: micro_ros_msgs                                                     
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/rmwConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/rosidl_typesupport_microxrcedds_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_c-extras.cmake:13 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generators-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generatorsConfig.cmake:41 (include)
      CMakeLists.txt:20 (find_package)
    Finished <<< micro_ros_msgs [15.8s]
    Starting >>> rmw_microxrcedds
    --- stderr: std_srvs                         
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/rmwConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/rosidl_typesupport_microxrcedds_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_c-extras.cmake:13 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generators-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generatorsConfig.cmake:41 (include)
      CMakeLists.txt:14 (find_package)
    Finished <<< std_srvs [16.8s]
    Starting >>> action_msgs
    --- stderr: lifecycle_msgs                                                    
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/rmwConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/rosidl_typesupport_microxrcedds_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_c-extras.cmake:13 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generators-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generatorsConfig.cmake:41 (include)
      CMakeLists.txt:14 (find_package)
    Finished <<< lifecycle_msgs [31.6s]
    Starting >>> rcl_interfaces
    --- stderr: rmw_microxrcedds                                             
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      CMakeLists.txt:27 (find_package)
    Finished <<< rmw_microxrcedds [17.2s]
    Starting >>> rmw_implementation                                          
    --- stderr: rmw_implementation                                           
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw_microxrcedds/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw_microxrcedds/cmake/rmw_microxrceddsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw_implementation_cmake/cmake/get_default_rmw_implementation.cmake:62 (find_package)
      CMakeLists.txt:22 (get_default_rmw_implementation)
    Finished <<< rmw_implementation [4.46s]
    Starting >>> rosidl_typesupport_microxrcedds_test_msg
    Finished <<< rosidl_typesupport_microxrcedds_test_msg [4.42s]             
    Starting >>> rosgraph_msgs
    --- stderr: action_msgs                                                   
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/rosidl_runtime_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
      CMakeLists.txt:14 (find_package)
    Finished <<< action_msgs [19.7s]
    Starting >>> test_msgs
    --- stderr: rosgraph_msgs                                                 
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/rosidl_runtime_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
      CMakeLists.txt:14 (find_package)
    Finished <<< rosgraph_msgs [11.1s]
    Starting >>> example_interfaces
    [Processing: example_interfaces, rcl_interfaces, std_msgs, test_msgs]          
    --- stderr: std_msgs                                                         
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/rosidl_runtime_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
      CMakeLists.txt:14 (find_package)
    Finished <<< std_msgs [1min 10s]
    Starting >>> geometry_msgs
    --- stderr: rcl_interfaces                                                    
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/rmwConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/rosidl_typesupport_microxrcedds_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_c-extras.cmake:13 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generators-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generatorsConfig.cmake:41 (include)
      CMakeLists.txt:14 (find_package)
    Finished <<< rcl_interfaces [58.8s]
    Starting >>> actionlib_msgs
    --- stderr: actionlib_msgs                                                 
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/rosidl_runtime_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
      CMakeLists.txt:14 (find_package)
    Finished <<< actionlib_msgs [16.1s]
    Starting >>> statistics_msgs
    --- stderr: statistics_msgs                                                    
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/rosidl_runtime_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
      CMakeLists.txt:15 (find_package)
    Finished <<< statistics_msgs [17.8s]
    Starting >>> composition_interfaces
    --- stderr: test_msgs                                                          
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/rosidl_runtime_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
      CMakeLists.txt:19 (find_package)
    Finished <<< test_msgs [1min 26s]
    Starting >>> rcl                            
    --- stderr: example_interfaces               
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/rmwConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/rosidl_typesupport_microxrcedds_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_c-extras.cmake:13 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generators-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generatorsConfig.cmake:41 (include)
      CMakeLists.txt:14 (find_package)
    Finished <<< example_interfaces [1min 22s]
    Starting >>> tracetools_test
    Finished <<< tracetools_test [4.44s]                                           
    Starting >>> rosidl_typesupport_microxrcedds_c_tests
    Finished <<< rosidl_typesupport_microxrcedds_c_tests [3.65s]                   
    Starting >>> test_rmw_implementation
    --- stderr: composition_interfaces                                             
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/rmwConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/rosidl_typesupport_microxrcedds_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_c-extras.cmake:13 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generators-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generatorsConfig.cmake:41 (include)
      CMakeLists.txt:14 (find_package)
    Finished <<< composition_interfaces [20.4s]
    Finished <<< test_rmw_implementation [4.24s] 
    --- stderr: geometry_msgs                    
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/rmwConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/rosidl_typesupport_microxrcedds_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_c-extras.cmake:13 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generators-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generatorsConfig.cmake:41 (include)
      CMakeLists.txt:14 (find_package)
    Finished <<< geometry_msgs [1min 6s]
    Starting >>> sensor_msgs
    Starting >>> diagnostic_msgs                                       
    Starting >>> nav_msgs
    --- stderr: rcl                                                    
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/rosidl_runtime_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcl_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcl_interfaces/cmake/rcl_interfacesConfig.cmake:41 (include)
      CMakeLists.txt:10 (find_package)
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/graph.c: In function '__validate_node_name_and_namespace':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/graph.c:52:18: warning: unused variable 'msg' [-Wunused-variable]
       52 |     const char * msg = rmw_namespace_validation_result_string(validation_result);
          |                  ^~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/graph.c:64:18: warning: unused variable 'msg' [-Wunused-variable]
       64 |     const char * msg = rmw_node_name_validation_result_string(validation_result);
          |                  ^~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/graph.c: In function '__rcl_get_info_by_topic':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/graph.c:457:22: warning: variable 'error_string' set but not used [-Wunused-but-set-variable]
      457 |   rmw_error_string_t error_string;
          |                      ^~~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/init.c: In function 'rcl_init':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/init.c:191:8: warning: extra tokens at end of #endif directive [-Wendif-labels]
      191 | #endif RCL_COMMAND_LINE_ENABLED
          |        ^~~~~~~~~~~~~~~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/init_options.c: In function 'rcl_init_options_copy':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/init_options.c:94:24: warning: unused variable 'error_string' [-Wunused-variable]
       94 |     rmw_error_string_t error_string = rmw_get_error_string();
          |                        ^~~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/init_options.c:112:24: warning: unused variable 'error_string' [-Wunused-variable]
      112 |     rmw_error_string_t error_string = rmw_get_error_string();
          |                        ^~~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/node.c: In function 'rcl_node_init':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/node.c:169:18: warning: unused variable 'msg' [-Wunused-variable]
      169 |     const char * msg = rmw_node_name_validation_result_string(validation_result);
          |                  ^~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/node.c:201:18: warning: unused variable 'msg' [-Wunused-variable]
      201 |     const char * msg = rmw_namespace_validation_result_string(validation_result);
          |                  ^~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/rmw_implementation_identifier_check.c: In function 'rcl_rmw_implementation_identifier_check':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/rmw_implementation_identifier_check.c:136:34: warning: unused variable 'rmw_error_msg' [-Wunused-variable]
      136 |     const rcutils_error_string_t rmw_error_msg = rcl_get_error_string();
          |                                  ^~~~~~~~~~~~~
    At top level:
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/rmw_implementation_identifier_check.c:168:13: warning: 'initialize' defined but not used [-Wunused-function]
      168 | INITIALIZER(initialize) {
          |             ^~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/rmw_implementation_identifier_check.c:54:15: note: in definition of macro 'INITIALIZER'
       54 |   static void f(void)
          |               ^
    In file included from /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/validate_topic_name.c:22:
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/validate_topic_name.c: In function 'rcl_validate_topic_name_with_size':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/validate_topic_name.c:58:25: warning: array subscript has type 'char' [-Wchar-subscripts]
       58 |   if (isdigit(topic_name[0]) != 0) {
          |               ~~~~~~~~~~^~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/validate_topic_name.c:84:27: warning: array subscript has type 'char' [-Wchar-subscripts]
       84 |         isdigit(topic_name[i]) != 0 &&
          |                 ~~~~~~~~~~^~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl/src/rcl/validate_topic_name.c:179:29: warning: array subscript has type 'char' [-Wchar-subscripts]
      179 |       if (isdigit(topic_name[i + 1]) != 0) {
          |                   ~~~~~~~~~~^~~~~~~
    Finished <<< rcl [16.4s]
    Starting >>> rclc
    --- stderr: rclc                                                           
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/rosidl_runtime_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcl_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcl_interfaces/cmake/rcl_interfacesConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcl/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcl/cmake/rclConfig.cmake:41 (include)
      CMakeLists.txt:31 (find_package)
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rclc/rclc/src/rclc/executor_handle.c: In function 'rclc_executor_handle_print':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rclc/rclc/src/rclc/executor_handle.c:84:10: warning: variable 'typeName' set but not used [-Wunused-but-set-variable]
       84 |   char * typeName;
          |          ^~~~~~~~
    Finished <<< rclc [9.63s]
    Starting >>> shape_msgs
    --- stderr: diagnostic_msgs                                                 
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/rmwConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/rosidl_typesupport_microxrcedds_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_c-extras.cmake:13 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generators-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generatorsConfig.cmake:41 (include)
      CMakeLists.txt:14 (find_package)
    Finished <<< diagnostic_msgs [22.8s]
    Starting >>> trajectory_msgs
    --- stderr: shape_msgs                                                      
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/rosidl_runtime_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/std_msgs/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/std_msgs/cmake/std_msgsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/geometry_msgs/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/geometry_msgs/cmake/geometry_msgsConfig.cmake:41 (include)
      CMakeLists.txt:14 (find_package)
    Finished <<< shape_msgs [18.9s]
    Starting >>> visualization_msgs                                             
    --- stderr: nav_msgs                                                        
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/rosidl_runtime_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
      CMakeLists.txt:14 (find_package)
    Finished <<< nav_msgs [31.8s]
    Starting >>> rcl_lifecycle
    --- stderr: rcl_lifecycle                                                   
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/rosidl_runtime_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/lifecycle_msgs/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/lifecycle_msgs/cmake/lifecycle_msgsConfig.cmake:41 (include)
      CMakeLists.txt:7 (find_package)
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl_lifecycle/src/rcl_lifecycle.c: In function 'rcl_lifecycle_state_machine_fini':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl_lifecycle/src/rcl_lifecycle.c:262:24: warning: unused variable 'error_string' [-Wunused-variable]
      262 |     rcl_error_string_t error_string = rcl_get_error_string();
          |                        ^~~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl_lifecycle/src/rcl_lifecycle.c:272:24: warning: unused variable 'error_string' [-Wunused-variable]
      272 |     rcl_error_string_t error_string = rcl_get_error_string();
          |                        ^~~~~~~~~~~~
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl_lifecycle/src/rcl_lifecycle.c: In function '_trigger_transition':
    /home/prostrain/microros_ws/firmware/mcu_ws/uros/rcl/rcl_lifecycle/src/rcl_lifecycle.c:365:26: warning: unused variable 'error_string' [-Wunused-variable]
      365 |       rcl_error_string_t error_string = rcl_get_error_string();
          |                          ^~~~~~~~~~~~
    Finished <<< rcl_lifecycle [7.94s]
    Starting >>> rcl_action
    --- stderr: trajectory_msgs                                                 
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/rosidl_runtime_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
      CMakeLists.txt:14 (find_package)
    Finished <<< trajectory_msgs [20.8s]
    Starting >>> rclc_lifecycle
    --- stderr: rcl_action                                                       
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/rosidl_runtime_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/action_msgs/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/action_msgs/cmake/action_msgsConfig.cmake:41 (include)
      CMakeLists.txt:7 (find_package)
    Finished <<< rcl_action [10.4s]
    Starting >>> rclc_parameter                                                  
    --- stderr: rclc_lifecycle                                                   
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/rosidl_runtime_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/lifecycle_msgs/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/lifecycle_msgs/cmake/lifecycle_msgsConfig.cmake:41 (include)
      CMakeLists.txt:11 (find_package)
    Finished <<< rclc_lifecycle [6.78s]
    --- stderr: rclc_parameter                                                   
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/rosidl_runtime_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcl_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcl_interfaces/cmake/rcl_interfacesConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcl/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcl/cmake/rclConfig.cmake:41 (include)
      CMakeLists.txt:34 (find_package)
    Finished <<< rclc_parameter [6.55s]
    --- stderr: visualization_msgs                                               
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/rosidl_runtime_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
      CMakeLists.txt:14 (find_package)
    Finished <<< visualization_msgs [47.2s]
    --- stderr: sensor_msgs                                            
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_runtime_c/cmake/rosidl_runtime_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include)
      CMakeLists.txt:14 (find_package)
    Finished <<< sensor_msgs [1min 32s]
    Starting >>> stereo_msgs
    Starting >>> sensor_msgs_py
    Finished <<< sensor_msgs_py [4.61s]                                     
    --- stderr: stereo_msgs                                      
    CMake Warning at /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/ament_cmake_export_libraries-extras.cmake:116 (message):
      Package 'rcutils' exports library 'dl' which couldn't be found
    Call Stack (most recent call first):
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rcutils/cmake/rcutilsConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rmw/cmake/rmwConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_microxrcedds_c/cmake/rosidl_typesupport_microxrcedds_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_c-extras.cmake:13 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_typesupport_c/cmake/rosidl_typesupport_cConfig.cmake:41 (include)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generators-extras.cmake:21 (find_package)
      /home/prostrain/microros_ws/firmware/mcu_ws/install/share/rosidl_default_generators/cmake/rosidl_default_generatorsConfig.cmake:41 (include)
      CMakeLists.txt:14 (find_package)
    Finished <<< stereo_msgs [11.6s]
    Starting >>> common_interfaces
    Finished <<< common_interfaces [2.39s]                          
    Summary: 61 packages finished [5min 12s]
      38 packages had stderr output: action_msgs actionlib_msgs builtin_interfaces composition_interfaces diagnostic_msgs example_interfaces geometry_msgs libyaml_vendor lifecycle_msgs micro_ros_msgs microxrcedds_client nav_msgs rcl rcl_action rcl_interfaces rcl_lifecycle rcl_logging_noop rclc rclc_lifecycle rclc_parameter rcutils rmw rmw_implementation rmw_microxrcedds rosgraph_msgs rosidl_runtime_c rosidl_typesupport_c rosidl_typesupport_microxrcedds_c sensor_msgs shape_msgs statistics_msgs std_msgs std_srvs stereo_msgs test_msgs trajectory_msgs unique_identifier_msgs visualization_msgs
              

    Okay alright. After doing this, I tried to add the new micro_ros_arduino library inside my arduino.

    Open Arduino IDE, go to Add ZIP library and then I add the micro_ros_arduino as library. The library location is at /home/prostrain/microros_ws/src/micro_ros_arduino

    I noticed that in Arduino terminal, there is this output when i add the library. So I confirmed that the new library is added.
    Library added to your libraries, Check "Include library" menu.

    I then proceed trying to just Verify the example code but this error still come out:

    Library micro_ros_arduino has been declared precompiled:
    Using precompiled library in /home/prostrain/Arduino/libraries/micro_ros_arduino/src/cortex-m3
    /home/prostrain/Arduino/libraries/micro_ros_arduino/src/cortex-m3/libmicroros.a(librmw-validate_full_topic_name.c.obj): In function `rmw_validate_full_topic_name':
    validate_full_topic_name.c:(.text.rmw_validate_full_topic_name+0xf8): undefined reference to `__ctype_ptr__'
    /home/prostrain/Arduino/libraries/micro_ros_arduino/src/cortex-m3/libmicroros.a(librcl-validate_topic_name.c.obj): In function `rcl_validate_topic_name':
    validate_topic_name.c:(.text.rcl_validate_topic_name+0x1cc): undefined reference to `__ctype_ptr__'
    /home/prostrain/Arduino/libraries/micro_ros_arduino/src/cortex-m3/libmicroros.a(librmw-validate_node_name.c.obj): In function `rmw_validate_node_name':
    validate_node_name.c:(.text.rmw_validate_node_name+0x88): undefined reference to `__ctype_ptr__'
    collect2: error: ld returned 1 exit status
    exit status 1
    Error compiling for board Arduino Due (Programming Port).
              

    The generating library procedure will generate a libmicroros.a and a include folder. You shall integrate them in the micro-ROS for Arduino package. Here you have the procedure:

    micro_ros_arduino/extras/library_generation/library_generation.sh Lines 94 to 99 fcab35d
  • Remove all .c from the generated include folder.
  • Copy the content of the include folder in this repo src folder.
  • Copy the generated libmicroros.a in src/cortex-m3/libmicroros.a
  • Okay I did this

  • I got to microros_ws/firmware/build/include and then copy all the contents in here except the .c file. There was no .c file anyway.
  • I then paste the contents in the repo which located at microros_ws/src/micro_ros_arduino/src/ . I just select replace all. Note that there are still few cpp files here like default transport, native ethernet etc. I didn't disturbed this.
  • From this folder microros_ws/firmware/build/ , I then copy the microros.a and paste at microros_ws/src/micro_ros_arduino/src/cortex-m3/libmicroros.a and select replace option.
  • Then, I proceed to the library by using Include library/Add .ZIP Library and select this folder /home/prostrain/microros_ws/src/micro_ros_arduino/
  • I tried to Verify the example publisher code and it was compiled successfully
  • I also tried to upload the code to my Arduino Due and it was uploaded successfully.
  • No words can describe the happiness that I feel right now. hahah Now, I can focus on developing my robot.

    Thank you @pablogs9 for the guidance! Keep up the good work with microros arduino!

    Hi, @zharifzubaidi , I face same problem.
    I follow your solution but I can't find workspacce/src/micro_ros_arduino/cortex-m3
    How can I install?