ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Missing header file(static_string.hpp) during compilation

asked 2023-04-22 22:38:27 -0500

smalldo gravatar image

updated 2023-06-07 14:51:47 -0500

130s gravatar image

Compile packages for Humble on aarch64. Some packages require dependencies, such as ros-humble-gripper-controllers, which rely on GitHub - PickNikRobotics/RSL: ROS Support Library But RSL doesn’t have an rpm package, so I made one myself.(ros-humble-rsl)

The problem is that these packages require content, but what should I do if there is no content in the warehouse?

rcl_yaml_param_parser -isystem /opt/ros/humble/include/libyaml_vendor -isystem /opt/ros/humble/include/tracetools -isystem /opt/ros/humble/include/statistics_msgs -isystem /opt/ros/humble/include/rosgraph_msgs -isystem /opt/ros/humble/include/rosidl_typesupport_cpp -isystem /opt/ros/humble/include/rosidl_typesupport_c -isystem /opt/ros/humble/include/rcl_action -isystem /opt/ros/humble/include/class_loader -isystem /opt/ros/humble/include/console_bridge_vendor -isystem /opt/ros/humble/include/rcl_lifecycle -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -fasynchronous-unwind-tables -fstack-clash-protection -fPIC -Wall -Wextra -std=gnu++17 -MD -MT CMakeFiles/gripper_action_controller.dir/src/gripper_action_controller.cpp.o -MF CMakeFiles/gripper_action_controller.dir/src/gripper_action_controller.cpp.o.d -o CMakeFiles/gripper_action_controller.dir/src/gripper_action_controller.cpp.o -c /builddir/build/BUILD/ros-humble-gripper-controllers-2.14.0/src/gripper_action_controller.cpp
make[2]: Leaving directory '/builddir/build/BUILD/ros-humble-gripper-controllers-2.14.0/obj-aarch64-redhat-linux-gnu'
In file included from /builddir/build/BUILD/ros-humble-gripper-controllers-2.14.0/include/gripper_controllers/gripper_action_controller.hpp:44,
                 from /builddir/build/BUILD/ros-humble-gripper-controllers-2.14.0/src/gripper_action_controller.cpp:18:
/builddir/build/BUILD/ros-humble-gripper-controllers-2.14.0/obj-aarch64-redhat-linux-gnu/gripper_action_controller_parameters/include/gripper_action_controller_parameters.hpp:23:10: fatal error: rsl/static_string.hpp: No such file or directory
 #include <rsl/static_string.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/gripper_action_controller.dir/build.make:79: CMakeFiles/gripper_action_controller.dir/src/gripper_action_controller.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:181: CMakeFiles/gripper_action_controller.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: Entering directory '/builddir/build/BUILD/ros-humble-gripper-controllers-2.14.0/obj-aarch64-redhat-linux-gnu'
[ 36%] Building CXX object gmock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.ocd /builddir/build/BUILD/ros-humble-gripper-controllers-2.14.0/obj-aarch64-redhat-linux-gnu/gmock && /usr/bin/c++  -I/opt/ros/humble/src/gmock_vendor/include -I/opt/ros/humble/src/gmock_vendor/. -I/opt/ros/humble/src/gtest_vendor/include -I/opt/ros/humble/src/gtest_vendor -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -fasynchronous-unwind-tables -fstack-clash-protection -Wno-missing-field-initializers -Wall -Wextra -std=gnu++17 -MD -MT gmock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o -MF CMakeFiles/gmock_main.dir/src/gmock_main.cc.o.d -o CMakeFiles/gmock_main.dir/src/gmock_main.cc.o -c /opt/ros/humble/src/gmock_vendor/src/gmock_main.cc

Anyway, this package(ros-humble-gripper-controllers) is not available on x86 either。Now,I had compiled it.

[build@0a5f46419a58 ~]$ ls workspace/repo/Packages/ros-humble-gripper-controllers-2.14.0-1.1.an8.aarch64.rpm
workspace/repo/Packages/ros-humble-gripper-controllers-2.14.0-1.1.an8.aarch64.rpm
[build@0a5f46419a58 ~]$ ls workspace/repo/Packages/ros-humble-rsl-0.2.2-1.1.an8.aarch64.rpm
workspace/repo/Packages/ros-humble-rsl-0.2.2-1.1.an8.aarch64.rpm
Index of /rhel/main/8/x86_64/Packages/r/
edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
0

answered 2023-06-07 14:55:55 -0500

130s gravatar image

Builder is not seeing rsl package. Make sure you configured dependency to your target properly by ament_target_dependencies (or else. See more in #q416198).

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2023-04-22 22:38:27 -0500

Seen: 71 times

Last updated: Jun 07 '23