Open czarekk215 opened 6 months ago
@pablogs9
Please try to use this module instead of micro_ros_setup
Firstly, I tried to build this module, as it is showed for disco_l475_iot, but i got this error. I have zephyr 3.1.0 and sdk 14.2
cezary@cezary-MacBookPro:~/zephyrproject$ west build -b disco_l475_iot1 micro_ros_zephyr_module
[1/19] Performing build step for 'libmicroros_project'
FAILED: libmicroros-prefix/src/libmicroros_project-stamp/libmicroros_project-build /home/cezary/zephyrproject/micro_ros_zephyr_module/modules/libmicroros/libmicroros.a /home/cezary/zephyrproject/build/libmicroros-prefix/src/libmicroros_project-stamp/libmicroros_project-build
cd /home/cezary/zephyrproject/micro_ros_zephyr_module/modules/libmicroros && make -f libmicroros.mk "X_CFLAGS=-I/home/cezary/zephyrproject/zephyr/include/zephyr -I/home/cezary/zephyrproject/zephyr/include -I/home/cezary/zephyrproject/build/zephyr/include/generated -I/home/cezary/zephyrproject/zephyr/soc/arm/st_stm32/stm32l4 -I/home/cezary/zephyrproject/zephyr/lib/libc/newlib/include -I/home/cezary/zephyrproject/zephyr/drivers -I/home/cezary/zephyrproject/zephyr/soc/arm/st_stm32/common -I/home/cezary/zephyrproject/zephyr/subsys/usb/device -I/home/cezary/zephyrproject/modules/hal/cmsis/CMSIS/Core/Include -I/home/cezary/zephyrproject/modules/hal/atmel/include -I/home/cezary/zephyrproject/zephyr/modules/hal_nxp/usb/. -I/home/cezary/zephyrproject/modules/hal/stm32/stm32cube/stm32l4xx/soc -I/home/cezary/zephyrproject/modules/hal/stm32/stm32cube/stm32l4xx/drivers/include -I/home/cezary/zephyrproject/modules/hal/stm32/stm32cube/stm32l4xx/drivers/include/Legacy -I/home/cezary/zephyrproject/modules/hal/stm32/stm32cube/common_ll/include -DKERNEL -D__ZEPHYR__=1 -D_FORTIFY_SOURCE=2 -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -DSTM32L475xx -DUSE_HAL_DRIVER -DUSE_FULL_LL_DRIVER -DCORE_CM4 -DHSE_VALUE=8000000 -Os -imacros /home/cezary/zephyrproject/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee --sysroot=/home/cezary/zephyr-sdk-0.14.2/arm-zephyr-eabi/arm-zephyr-eabi -imacros /home/cezary/zephyrproject/zephyr/include/zephyr/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=/home/cezary/zephyrproject/micro_ros_zephyr_module=CMAKE_SOURCE_DIR -fmacro-prefix-map=/home/cezary/zephyrproject/zephyr=ZEPHYR_BASE -fmacro-prefix-map=/home/cezary/zephyrproject=WEST_TOPDIR -ffunction-sections -fdata-sections " "X_CXXFLAGS=-I/home/cezary/zephyrproject/zephyr/include/zephyr -I/home/cezary/zephyrproject/zephyr/include -I/home/cezary/zephyrproject/build/zephyr/include/generated -I/home/cezary/zephyrproject/zephyr/soc/arm/st_stm32/stm32l4 -I/home/cezary/zephyrproject/zephyr/lib/libc/newlib/include -I/home/cezary/zephyrproject/zephyr/drivers -I/home/cezary/zephyrproject/zephyr/soc/arm/st_stm32/common -I/home/cezary/zephyrproject/zephyr/subsys/usb/device -I/home/cezary/zephyrproject/modules/hal/cmsis/CMSIS/Core/Include -I/home/cezary/zephyrproject/modules/hal/atmel/include -I/home/cezary/zephyrproject/zephyr/modules/hal_nxp/usb/. -I/home/cezary/zephyrproject/modules/hal/stm32/stm32cube/stm32l4xx/soc -I/home/cezary/zephyrproject/modules/hal/stm32/stm32cube/stm32l4xx/drivers/include -I/home/cezary/zephyrproject/modules/hal/stm32/stm32cube/stm32l4xx/drivers/include/Legacy -I/home/cezary/zephyrproject/modules/hal/stm32/stm32cube/common_ll/include -DKERNEL -D__ZEPHYR__=1 -D_FORTIFY_SOURCE=2 -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -DSTM32L475xx -DUSE_HAL_DRIVER -DUSE_FULL_LL_DRIVER -DCORE_CM4 -DHSE_VALUE=8000000 -Os -fcheck-new -fno-exceptions -fno-rtti -imacros /home/cezary/zephyrproject/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee --sysroot=/home/cezary/zephyr-sdk-0.14.2/arm-zephyr-eabi/arm-zephyr-eabi -imacros /home/cezary/zephyrproject/zephyr/include/zephyr/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-unused-but-set-variable -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=/home/cezary/zephyrproject/micro_ros_zephyr_module=CMAKE_SOURCE_DIR -fmacro-prefix-map=/home/cezary/zephyrproject/zephyr=ZEPHYR_BASE -fmacro-prefix-map=/home/cezary/zephyrproject=WEST_TOPDIR -ffunction-sections -fdata-sections " X_CC=/home/cezary/zephyr-sdk-0.14.2/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc X_AR=/home/cezary/zephyr-sdk-0.14.2/arm-zephyr-eabi/bin/arm-zephyr-eabi-ar X_RANLIB=/home/cezary/zephyr-sdk-0.14.2/arm-zephyr-eabi/bin/arm-zephyr-eabi-ranlib X_CXX=/home/cezary/zephyr-sdk-0.14.2/arm-zephyr-eabi/bin/arm-zephyr-eabi-g++ COMPONENT_PATH=/home/cezary/zephyrproject/micro_ros_zephyr_module/modules/libmicroros ZEPHYR_BASE=/home/cezary/zephyrproject/zephyr PROJECT_BINARY_DIR=/home/cezary/zephyrproject/build/zephyr && /usr/bin/cmake -E touch /home/cezary/zephyrproject/build/libmicroros-prefix/src/libmicroros_project-stamp/libmicroros_project-build
. /home/cezary/zephyrproject/micro_ros_zephyr_module/modules/libmicroros/utils.sh; \
cp /home/cezary/zephyrproject/micro_ros_zephyr_module/modules/libmicroros/colcon.meta /home/cezary/zephyrproject/micro_ros_zephyr_module/modules/libmicroros/configured_colcon.meta; \
ZEPHYR_CONF_FILE=/home/cezary/zephyrproject/build/zephyr/.config; \
update_meta_from_zephyr_config "CONFIG_MICROROS_NODES" "rmw_microxrcedds" "RMW_UXRCE_MAX_NODES"; \
update_meta_from_zephyr_config "CONFIG_MICROROS_PUBLISHERS" "rmw_microxrcedds" "RMW_UXRCE_MAX_PUBLISHERS"; \
update_meta_from_zephyr_config "CONFIG_MICROROS_SUBSCRIBERS" "rmw_microxrcedds" "RMW_UXRCE_MAX_SUBSCRIPTIONS"; \
update_meta_from_zephyr_config "CONFIG_MICROROS_CLIENTS" "rmw_microxrcedds" "RMW_UXRCE_MAX_CLIENTS"; \
update_meta_from_zephyr_config "CONFIG_MICROROS_SERVERS" "rmw_microxrcedds" "RMW_UXRCE_MAX_SERVICES"; \
update_meta_from_zephyr_config "CONFIG_MICROROS_RMW_HISTORIC" "rmw_microxrcedds" "RMW_UXRCE_MAX_HISTORY"; \
update_meta_from_zephyr_config "CONFIG_MICROROS_XRCE_DDS_HISTORIC" "rmw_microxrcedds" "RMW_UXRCE_STREAM_HISTORY"; \
update_meta_from_zephyr_config "CONFIG_MICROROS_XRCE_DDS_MTU" "microxrcedds_client" "UCLIENT_CUSTOM_TRANSPORT_MTU"; \
update_meta "microxrcedds_client" "UCLIENT_PROFILE_SERIAL=OFF"; \
update_meta "microxrcedds_client" "UCLIENT_PROFILE_UDP=OFF"; \
update_meta "microxrcedds_client" "UCLIENT_PROFILE_TCP=OFF"; \
update_meta "microxrcedds_client" "UCLIENT_PROFILE_CUSTOM_TRANSPORT=ON"; \
update_meta "microxrcedds_client" "UCLIENT_PROFILE_STREAM_FRAMING=ON"; \
update_meta "rmw_microxrcedds" "RMW_UXRCE_TRANSPORT=custom";
rm -f /home/cezary/zephyrproject/micro_ros_zephyr_module/modules/libmicroros/zephyr_toolchain.cmake; \
cat /home/cezary/zephyrproject/micro_ros_zephyr_module/modules/libmicroros/zephyr_toolchain.cmake.in | \
sed "s/@CMAKE_C_COMPILER@/\/home\/cezary\/zephyr-sdk-0.14.2\/arm-zephyr-eabi\/bin\/arm-zephyr-eabi-gcc/g" | \
sed "s/@CMAKE_CXX_COMPILER@/\/home\/cezary\/zephyr-sdk-0.14.2\/arm-zephyr-eabi\/bin\/arm-zephyr-eabi-g++/g" | \
sed "s/@CMAKE_SYSROOT@/\/home\/cezary\/zephyrproject\/micro_ros_zephyr_module\/modules\/libmicroros/g" | \
sed "s/@CFLAGS@/-c -I\/home\/cezary\/zephyrproject\/zephyr\/include\/posix -I\/home\/cezary\/zephyrproject\/build\/zephyr\/include\/generated -I\/home\/cezary\/zephyrproject\/zephyr\/include\/zephyr -I\/home\/cezary\/zephyrproject\/zephyr\/include -I\/home\/cezary\/zephyrproject\/build\/zephyr\/include\/generated -I\/home\/cezary\/zephyrproject\/zephyr\/soc\/arm\/st_stm32\/stm32l4 -I\/home\/cezary\/zephyrproject\/zephyr\/lib\/libc\/newlib\/include -I\/home\/cezary\/zephyrproject\/zephyr\/drivers -I\/home\/cezary\/zephyrproject\/zephyr\/soc\/arm\/st_stm32\/common -I\/home\/cezary\/zephyrproject\/zephyr\/subsys\/usb\/device -I\/home\/cezary\/zephyrproject\/modules\/hal\/cmsis\/CMSIS\/Core\/Include -I\/home\/cezary\/zephyrproject\/modules\/hal\/atmel\/include -I\/home\/cezary\/zephyrproject\/zephyr\/modules\/hal_nxp\/usb\/. -I\/home\/cezary\/zephyrproject\/modules\/hal\/stm32\/stm32cube\/stm32l4xx\/soc -I\/home\/cezary\/zephyrproject\/modules\/hal\/stm32\/stm32cube\/stm32l4xx\/drivers\/include -I\/home\/cezary\/zephyrproject\/modules\/hal\/stm32\/stm32cube\/stm32l4xx\/drivers\/include\/Legacy -I\/home\/cezary\/zephyrproject\/modules\/hal\/stm32\/stm32cube\/common_ll\/include -DKERNEL -D__ZEPHYR__=1 -D_FORTIFY_SOURCE=2 -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -DSTM32L475xx -DUSE_HAL_DRIVER -DUSE_FULL_LL_DRIVER -DCORE_CM4 -DHSE_VALUE=8000000 -Os -imacros \/home\/cezary\/zephyrproject\/build\/zephyr\/include\/generated\/autoconf.h -ffreestanding -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee --sysroot=\/home\/cezary\/zephyr-sdk-0.14.2\/arm-zephyr-eabi\/arm-zephyr-eabi -imacros \/home\/cezary\/zephyrproject\/zephyr\/include\/zephyr\/toolchain\/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=\/home\/cezary\/zephyrproject\/micro_ros_zephyr_module=CMAKE_SOURCE_DIR -fmacro-prefix-map=\/home\/cezary\/zephyrproject\/zephyr=ZEPHYR_BASE -fmacro-prefix-map=\/home\/cezary\/zephyrproject=WEST_TOPDIR -ffunction-sections -fdata-sections /g" | \
sed "s/@CXXFLAGS@/-c -I\/home\/cezary\/zephyrproject\/zephyr\/include\/posix -I\/home\/cezary\/zephyrproject\/build\/zephyr\/include\/generated -I\/home\/cezary\/zephyrproject\/zephyr\/include\/zephyr -I\/home\/cezary\/zephyrproject\/zephyr\/include -I\/home\/cezary\/zephyrproject\/build\/zephyr\/include\/generated -I\/home\/cezary\/zephyrproject\/zephyr\/soc\/arm\/st_stm32\/stm32l4 -I\/home\/cezary\/zephyrproject\/zephyr\/lib\/libc\/newlib\/include -I\/home\/cezary\/zephyrproject\/zephyr\/drivers -I\/home\/cezary\/zephyrproject\/zephyr\/soc\/arm\/st_stm32\/common -I\/home\/cezary\/zephyrproject\/zephyr\/subsys\/usb\/device -I\/home\/cezary\/zephyrproject\/modules\/hal\/cmsis\/CMSIS\/Core\/Include -I\/home\/cezary\/zephyrproject\/modules\/hal\/atmel\/include -I\/home\/cezary\/zephyrproject\/zephyr\/modules\/hal_nxp\/usb\/. -I\/home\/cezary\/zephyrproject\/modules\/hal\/stm32\/stm32cube\/stm32l4xx\/soc -I\/home\/cezary\/zephyrproject\/modules\/hal\/stm32\/stm32cube\/stm32l4xx\/drivers\/include -I\/home\/cezary\/zephyrproject\/modules\/hal\/stm32\/stm32cube\/stm32l4xx\/drivers\/include\/Legacy -I\/home\/cezary\/zephyrproject\/modules\/hal\/stm32\/stm32cube\/common_ll\/include -DKERNEL -D__ZEPHYR__=1 -D_FORTIFY_SOURCE=2 -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -DSTM32L475xx -DUSE_HAL_DRIVER -DUSE_FULL_LL_DRIVER -DCORE_CM4 -DHSE_VALUE=8000000 -Os -fcheck-new -fno-exceptions -fno-rtti -imacros \/home\/cezary\/zephyrproject\/build\/zephyr\/include\/generated\/autoconf.h -ffreestanding -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee --sysroot=\/home\/cezary\/zephyr-sdk-0.14.2\/arm-zephyr-eabi\/arm-zephyr-eabi -imacros \/home\/cezary\/zephyrproject\/zephyr\/include\/zephyr\/toolchain\/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-unused-but-set-variable -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=\/home\/cezary\/zephyrproject\/micro_ros_zephyr_module=CMAKE_SOURCE_DIR -fmacro-prefix-map=\/home\/cezary\/zephyrproject\/zephyr=ZEPHYR_BASE -fmacro-prefix-map=\/home\/cezary\/zephyrproject=WEST_TOPDIR -ffunction-sections -fdata-sections /g" \
> /home/cezary/zephyrproject/micro_ros_zephyr_module/modules/libmicroros/zephyr_toolchain.cmake
cd /home/cezary/zephyrproject/micro_ros_zephyr_module/modules/libmicroros/micro_ros_src; \
. ../micro_ros_dev/install/local_setup.sh; \
colcon build \
--merge-install \
--packages-ignore-regex=.*_cpp \
--metas /home/cezary/zephyrproject/micro_ros_zephyr_module/modules/libmicroros/configured_colcon.meta \
--cmake-args \
"--no-warn-unused-cli" \
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=OFF \
-DTHIRDPARTY=ON \
-DBUILD_SHARED_LIBS=OFF \
-DBUILD_TESTING=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_TOOLCHAIN_FILE=/home/cezary/zephyrproject/micro_ros_zephyr_module/modules/libmicroros/zephyr_toolchain.cmake \
-DCMAKE_VERBOSE_MAKEFILE=OFF; \
[2.070s] WARNING:colcon.colcon_core.package_selection:Some selected packages are already built in one or more underlay workspaces:
'rosidl_generator_c' is in: /opt/ros/humble
'nav_msgs' is in: /opt/ros/humble
'rcutils' is in: /opt/ros/humble
'rosidl_typesupport_interface' is in: /opt/ros/humble
'sensor_msgs' is in: /opt/ros/humble
'rosidl_cmake' is in: /opt/ros/humble
'trajectory_msgs' is in: /opt/ros/humble
'rcl_action' is in: /opt/ros/humble
'rosidl_default_runtime' is in: /opt/ros/humble
'rosidl_default_generators' is in: /opt/ros/humble
'rmw_implementation' is in: /opt/ros/humble
'rcl_logging_interface' is in: /opt/ros/humble
'unique_identifier_msgs' is in: /opt/ros/humble
'rcl_lifecycle' is in: /opt/ros/humble
'std_srvs' is in: /opt/ros/humble
'composition_interfaces' is in: /opt/ros/humble
'std_msgs' is in: /opt/ros/humble
'action_msgs' is in: /opt/ros/humble
'rosidl_parser' is in: /opt/ros/humble
'rosidl_typesupport_introspection_c' is in: /opt/ros/humble
'builtin_interfaces' is in: /opt/ros/humble
'rosgraph_msgs' is in: /opt/ros/humble
'rmw_implementation_cmake' is in: /opt/ros/humble
'visualization_msgs' is in: /opt/ros/humble
'rosidl_typesupport_c' is in: /opt/ros/humble
'common_interfaces' is in: /opt/ros/humble
'rosidl_runtime_c' is in: /opt/ros/humble
'geometry_msgs' is in: /opt/ros/humble
'rcl_interfaces' is in: /opt/ros/humble
'statistics_msgs' is in: /opt/ros/humble
'rmw' is in: /opt/ros/humble
'rcl' is in: /opt/ros/humble
'rosidl_cli' is in: /opt/ros/humble
'lifecycle_msgs' is in: /opt/ros/humble
'tracetools' is in: /opt/ros/humble
'sensor_msgs_py' is in: /opt/ros/humble
If a package in a merged underlay workspace is overridden and it installs headers, then all packages in the overlay must sort their include directories by workspace order. Failure to do so may result in build failures or undefined behavior at run time.
If the overridden package is used by another package in any underlay, then the overriding package in the overlay must be API and ABI compatible or undefined behavior at run time may occur.
If you understand the risks and want to override a package anyways, add the following to the command line:
--allow-overriding action_msgs builtin_interfaces common_interfaces composition_interfaces geometry_msgs lifecycle_msgs nav_msgs rcl rcl_action rcl_interfaces rcl_lifecycle rcl_logging_interface rcutils rmw rmw_implementation rmw_implementation_cmake rosgraph_msgs rosidl_cli rosidl_cmake rosidl_default_generators rosidl_default_runtime rosidl_generator_c rosidl_parser rosidl_runtime_c rosidl_typesupport_c rosidl_typesupport_interface rosidl_typesupport_introspection_c sensor_msgs sensor_msgs_py statistics_msgs std_msgs std_srvs tracetools trajectory_msgs unique_identifier_msgs visualization_msgs
This may be promoted to an error in a future release of colcon-override-check.
Starting >>> rcutils
Starting >>> rosidl_cli
Starting >>> rosidl_typesupport_interface
Starting >>> microcdr
--- stderr: microcdr
arm-zephyr-eabi-gcc: error: unrecognized command-line option '--param=min-pagesize=0'
gmake[3]: *** [CMakeFiles/microcdr.dir/build.make:76: CMakeFiles/microcdr.dir/src/c/common.c.obj] Error 1
gmake[3]: *** Waiting for unfinished jobs....
arm-zephyr-eabi-gcc: error: unrecognized command-line option '--param=min-pagesize=0'
gmake[3]: *** [CMakeFiles/microcdr.dir/build.make:104: CMakeFiles/microcdr.dir/src/c/types/string.c.obj] Error 1
arm-zephyr-eabi-gcc: error: unrecognized command-line option '--param=min-pagesize=0'
gmake[3]: *** [CMakeFiles/microcdr.dir/build.make:90: CMakeFiles/microcdr.dir/src/c/types/basic.c.obj] Error 1
arm-zephyr-eabi-gcc: error: unrecognized command-line option '--param=min-pagesize=0'
gmake[3]: *** [CMakeFiles/microcdr.dir/build.make:118: CMakeFiles/microcdr.dir/src/c/types/array.c.obj] Error 1
gmake[2]: *** [CMakeFiles/Makefile2:83: CMakeFiles/microcdr.dir/all] Error 2
gmake[1]: *** [Makefile:136: all] Error 2
---
Failed <<< microcdr [0.65s, exited with code 2]
Aborted <<< rosidl_typesupport_interface [1.19s]
Aborted <<< rcutils [1.60s]
Aborted <<< rosidl_cli [1.88s]
Summary: 0 packages finished [4.88s]
1 package failed: microcdr
3 packages aborted: rcutils rosidl_cli rosidl_typesupport_interface
2 packages had stderr output: microcdr rcutils
58 packages not processed
make: *** [libmicroros.mk:103: /home/cezary/zephyrproject/micro_ros_zephyr_module/modules/libmicroros/micro_ros_src/install] Error 2
ninja: build stopped: subcommand failed.
Try to use ARM GCC instead of the Zephyr version arm-zephyr-eabi-gcc
.
In any case, you can see a working procedure in the CI: 7456517565
Those are the steps: https://github.com/micro-ROS/micro_ros_zephyr_module/blob/7c5edcdf9e0a6c6e131d9e45ad357fa0757a5584/.github/workflows/nightly.yml#L43
Issue template
Steps to reproduce the issue
I reproduce steps like on website https://micro.ros.org/docs/tutorials/core/first_application_rtos/zephyr/ I tried pin_pong app and int32_publisher but I used
serial
config But to run it on my board I added my board name in CMakeList.txt and also changed in microro_tranpsort.h fd:to
.fd=1
. I flash the board by st-link, but for connection I use UART-USB concerterActual behavior
Expected bahviour
I want to have a new publisher
ping
in ros2 topics, but for now i only have 2 default. This is what I expect:Additional information
Is there anything to add or what should I change? I think the problem is in connection between board and my pc, I work on ubnutu 22.04.3, but I don't know why it's starts to running because if there wasn't connection it would show
waiting for connection