Open MMM-Jasmin opened 2 years ago
@MMM-Jasmin thanks for your feedback, I have very limited experience on the arm64 platform. What I can think about is that this issue is caused by the toolchain, do you use GCC and what's the version of it?
Hi minggangw, thanks for the help! So i tried gcc/g++ 8,9 and 10 and before I went a bit further down into the build process. The created Makefile is trying to compile against everything from ros2 and the command is extremely long. If you try to call it you get the g++/execv error:
g++: fatal error: cannot execute ‘/usr/lib/gcc/aarch64-linux-gnu/10/cc1plus’: execv: Argument list too long
Tests to increase limits for example with ulimit -s 652768 are also not working. Maybe the Makefile should be more specific what to compile with. Any idea?
Sorry for the delay, I have the following platforms
Both work fine, as you mentioned, maybe you need special flags that are different from the x86 desktop. I don't have any idea so far.
Hey @minggangw, i digged a little bit deeper, but still do not fully understand node-gyp. In the "binding.gyp" is a array of "include_dirs" made namely:
'ros_version > 2105', # Humble, Rolling, ... { 'include_dirs': [ "<!@(node -e \"console.log(process.env.AMENT_PREFIX_PATH.replace(/:/g, '/include/ ') + '/include/')\")", "<!@(node -e \"console.log(process.env.AMENT_PREFIX_PATH.replace(/:/g, '/include/rcl/ ') + '/include/rcl')\")", "<!@(node -e \"console.log(process.env.AMENT_PREFIX_PATH.replace(/:/g, '/include/rcutils/ ') + '/include/rcutils/')\")", "<!@(node -e \"console.log(process.env.AMENT_PREFIX_PATH.replace(/:/g, '/include/rmw/ ') + '/include/rmw/')\")", "<!@(node -e \"console.log(process.env.AMENT_PREFIX_PATH.replace(/:/g, '/include/rcl_yaml_param_parser/ ') + '/include/rcl_yaml_param_parser/')\")", "<!@(node -e \"console.log(process.env.AMENT_PREFIX_PATH.replace(/:/g, '/include/rosidl_typesupport_interface/ ') + '/include/rosidl_typesupport_interface/')\")", "<!@(node -e \"console.log(process.env.AMENT_PREFIX_PATH.replace(/:/g, '/include/rcl_action/ ') + '/include/rcl_action/')\")", "<!@(node -e \"console.log(process.env.AMENT_PREFIX_PATH.replace(/:/g, '/include/action_msgs/ ') + '/include/action_msgs/')\")", "<!@(node -e \"console.log(process.env.AMENT_PREFIX_PATH.replace(/:/g, '/include/unique_identifier_msgs/ ') + '/include/unique_identifier_msgs/')\")", "<!@(node -e \"console.log(process.env.AMENT_PREFIX_PATH.replace(/:/g, '/include/builtin_interfaces/ ') + '/include/builtin_interfaces/')\")", "<!@(node -e \"console.log(process.env.AMENT_PREFIX_PATH.replace(/:/g, '/include/rcl_lifecycle/ ') + '/include/rcl_lifecycle/')\")", "<!@(node -e \"console.log(process.env.AMENT_PREFIX_PATH.replace(/:/g, '/include/lifecycle_msgs/ ') + '/include/lifecycle_msgs/')\")", "<!@(node -e \"console.log(process.env.AMENT_PREFIX_PATH.replace(/:/g, '/include/rosidl_runtime_c/ ') + '/include/rosidl_runtime_c/')\")", ], }
It is based on "AMENT_PREFIX_PATH", which is already long. The result combination is saved in "build/rclnodejs.target.mk":
INCS_Debug := \ -I/home/jasmin/.cache/node-gyp/16.17.0/include/node \ -I/home/jasmin/.cache/node-gyp/16.17.0/src \ -I/home/jasmin/.cache/node-gyp/16.17.0/deps/openssl/config \ -I/home/jasmin/.cache/node-gyp/16.17.0/deps/openssl/openssl/include \ -I/home/jasmin/.cache/node-gyp/16.17.0/deps/uv/include \ -I/home/jasmin/.cache/node-gyp/16.17.0/deps/zlib \ -I/home/jasmin/.cache/node-gyp/16.17.0/deps/v8/include \ -I$(srcdir)/. \ -I$(srcdir)/node_modules/nan \ -I/ros/rqt_bag_plugins/include \ -I/ros/rosbag2/include \ -I/ros/rosbag2_compression_zstd/include \ -I/ros/zstd_vendor/include \ -I/ros/rviz_visual_testing_framework/include \ -I/ros/rviz2/include \ -I/ros/rviz_default_plugins/include \ -I/ros/rviz_common/include \ -I/ros/rqt_bag/include \ -I/ros/ros2bag/include \ -I/ros/rosbag2_py/include \ -I/ros/rosbag2_transport/include \ -I/ros/rosbag2_performance_benchmarking/include \ ........................................
I counted the includes and it tries to link against 4220 entries. And most of them are not valid to begin with. Funny that its is working for you, the g++ call is 196873 bytes long :/ Any ideas how the amount of includes could be reduced?
Kind regards, Nils
Hi @MMM-Jasmin I noticed these changes were introduced by #853, which enabled the Github actions for rclnodejs
, would you please just remove the section below, to revert that change:
https://github.com/RobotWebTools/rclnodejs/blob/20c32f1307dde2fe057376c65cca2d0e0a14f3ec/binding.gyp#L71-L93
BTW, my AMENT_PREFIX_PATH
equals to /opt/ros/rolling
Another way that I think should be workable is:
Change the include_dirs
part manually to point to the actual ros
path on your machine, like:
'include_dirs':
[
"/opt/ros/rolling/include/"
]
@minggangw @MMM-Jasmin The long include path is excessive, yikes! It arose to handle differences in the file header structure between galactic/foxy distros and humble. I share this so you'll be aware of this diff if you are working across ros2 distros. @minggangw perhaps we can address this in a more efficient manner in the near future. Also, the Humble distro is based on Ubuntu 22. I've seen some refs to articles for building on Ubuntu 20 but not done it myself to identify the issues.
Hi @minggangw @wayneparrott when i set the includes directly like this:
'include_dirs':
[
"/opt/dev/ros2_humble/install/rcl/include/rcl",
"/opt/dev/ros2_humble/install/rcutils/include/rcutils/",
"/opt/dev/ros2_humble/install/rmw/include/rmw",
"/opt/dev/ros2_humble/install/rcl_yaml_param_parser/include/rcl_yaml_param_parser",
"/opt/dev/ros2_humble/install/rosidl_typesupport_interface/include/rosidl_typesupport_interface",
"/opt/dev/ros2_humble/install/rcl_action/include/rcl_action",
"/opt/dev/ros2_humble/install/action_msgs/include/action_msgs",
"/opt/dev/ros2_humble/install/unique_identifier_msgs/include/unique_identifier_msgs",
"/opt/dev/ros2_humble/install/builtin_interfaces/include/builtin_interfaces",
"/opt/dev/ros2_humble/install/rcl_lifecycle/include/rcl_lifecycle",
"/opt/dev/ros2_humble/install/lifecycle_msgs/include/lifecycle_msgs",
"/opt/dev/ros2_humble/install/rosidl_runtime_c/include/rosidl_runtime_c",
],
it can be compiled and installed, but I guess a more autonomously method is desirable.
@minggangw i guess you installed the rebuild ros2 package? As I am on ubuntu 20.04 I need to build it myself and my AMENT_PREFIX_PATH equals to
/opt/dev/ros2_humble/install/rqt_bag_plugins:/opt/dev/ros2_humble/install/rosbag2:/opt/dev/ros2_humble/install/rosbag2_compression_zstd:/opt/dev/ros2_humble/install/zstd_vendor:/opt/dev/ros2_humble/install/rviz_visual_testing_framework:/opt/dev/ros2_humble/install/rviz2:/opt/dev/ros2_humble/install/rviz_default_plugins:/opt/dev/ros2_humble/install/rviz_common:/opt/dev/ros2_humble/install/rqt_bag:/opt/dev/ros2_humble/install/ros2bag:/opt/dev/ros2_humble/install/rosbag2_py:/opt/dev/ros2_humble/install/rosbag2_transport:/opt/dev/ros2_humble/install/rosbag2_performance_benchmarking:/opt/dev/ros2_humble/install/rosbag2_compression:/opt/dev/ros2_humble/install/rosbag2_cpp:/opt/dev/ros2_humble/install/rosbag2_storage_default_plugins:/opt/dev/ros2_humble/install/rosbag2_storage:/opt/dev/ros2_humble/install/image_common:/opt/dev/ros2_humble/install/camera_info_manager:/opt/dev/ros2_humble/install/camera_calibration_parsers:/opt/dev/ros2_humble/install/yaml_cpp_vendor:/opt/dev/ros2_humble/install/interactive_markers:/opt/dev/ros2_humble/install/common_interfaces:/opt/dev/ros2_humble/install/visualization_msgs:/opt/dev/ros2_humble/install/dummy_robot_bringup:/opt/dev/ros2_humble/install/robot_state_publisher:/opt/dev/ros2_humble/install/kdl_parser:/opt/dev/ros2_humble/install/urdf:/opt/dev/ros2_humble/install/urdf_parser_plugin:/opt/dev/ros2_humble/install/turtlesim:/opt/dev/ros2_humble/install/tracetools_test:/opt/dev/ros2_humble/install/tracetools_launch:/opt/dev/ros2_humble/install/topic_monitor:/opt/dev/ros2_humble/install/geometry2:/opt/dev/ros2_humble/install/tf2_tools:/opt/dev/ros2_humble/install/tf2_sensor_msgs:/opt/dev/ros2_humble/install/test_tf2:/opt/dev/ros2_humble/install/tf2_kdl:/opt/dev/ros2_humble/install/tf2_geometry_msgs:/opt/dev/ros2_humble/install/examples_tf2_py:/opt/dev/ros2_humble/install/tf2_ros_py:/opt/dev/ros2_humble/install/tf2_eigen:/opt/dev/ros2_humble/install/tf2_bullet:/opt/dev/ros2_humble/install/tf2_ros:/opt/dev/ros2_humble/install/tf2_py:/opt/dev/ros2_humble/install/tf2_msgs:/opt/dev/ros2_humble/install/test_msgs:/opt/dev/ros2_humble/install/sros2_cmake:/opt/dev/ros2_humble/install/ros2cli_common_extensions:/opt/dev/ros2_humble/install/sros2:/opt/dev/ros2_humble/install/rqt_topic:/opt/dev/ros2_humble/install/rqt_srv:/opt/dev/ros2_humble/install/rqt_shell:/opt/dev/ros2_humble/install/rqt_service_caller:/opt/dev/ros2_humble/install/rqt_reconfigure:/opt/dev/ros2_humble/install/rqt_py_console:/opt/dev/ros2_humble/install/rqt_publisher:/opt/dev/ros2_humble/install/rqt_plot:/opt/dev/ros2_humble/install/rqt_action:/opt/dev/ros2_humble/install/rqt_msg:/opt/dev/ros2_humble/install/rqt_console:/opt/dev/ros2_humble/install/rqt:/opt/dev/ros2_humble/install/rqt_py_common:/opt/dev/ros2_humble/install/rqt_graph:/opt/dev/ros2_humble/install/rqt_gui_py:/opt/dev/ros2_humble/install/rqt_gui:/opt/dev/ros2_humble/install/ros_testing:/opt/dev/ros2_humble/install/ros2trace:/opt/dev/ros2_humble/install/ros2topic:/opt/dev/ros2_humble/install/ros2test:/opt/dev/ros2_humble/install/ros2component:/opt/dev/ros2_humble/install/ros2param:/opt/dev/ros2_humble/install/ros2lifecycle:/opt/dev/ros2_humble/install/ros2service:/opt/dev/ros2_humble/install/ros2run:/opt/dev/ros2_humble/install/ros2launch:/opt/dev/ros2_humble/install/ros2pkg:/opt/dev/ros2_humble/install/ros2node:/opt/dev/ros2_humble/install/ros2multicast:/opt/dev/ros2_humble/install/ros2interface:/opt/dev/ros2_humble/install/ros2doctor:/opt/dev/ros2_humble/install/ros2cli_test_interfaces:/opt/dev/ros2_humble/install/ros2action:/opt/dev/ros2_humble/install/ros2cli:/opt/dev/ros2_humble/install/quality_of_service_demo_py:/opt/dev/ros2_humble/install/quality_of_service_demo_cpp:/opt/dev/ros2_humble/install/image_transport:/opt/dev/ros2_humble/install/message_filters:/opt/dev/ros2_humble/install/lifecycle_py:/opt/dev/ros2_humble/install/launch_testing_ros:/opt/dev/ros2_humble/install/demo_nodes_cpp:/opt/dev/ros2_humble/install/composition:/opt/dev/ros2_humble/install/launch_ros:/opt/dev/ros2_humble/install/laser_geometry:/opt/dev/ros2_humble/install/examples_rclpy_pointcloud_publisher:/opt/dev/ros2_humble/install/examples_rclpy_minimal_subscriber:/opt/dev/ros2_humble/install/examples_rclpy_minimal_service:/opt/dev/ros2_humble/install/examples_rclpy_minimal_publisher:/opt/dev/ros2_humble/install/examples_rclpy_minimal_client:/opt/dev/ros2_humble/install/examples_rclpy_minimal_action_server:/opt/dev/ros2_humble/install/examples_rclpy_minimal_action_client:/opt/dev/ros2_humble/install/examples_rclpy_guard_conditions:/opt/dev/ros2_humble/install/examples_rclpy_executors:/opt/dev/ros2_humble/install/demo_nodes_py:/opt/dev/ros2_humble/install/action_tutorials_py:/opt/dev/ros2_humble/install/rclpy:/opt/dev/ros2_humble/install/examples_rclcpp_minimal_action_server:/opt/dev/ros2_humble/install/examples_rclcpp_minimal_action_client:/opt/dev/ros2_humble/install/action_tutorials_cpp:/opt/dev/ros2_humble/install/rclcpp_action:/opt/dev/ros2_humble/install/rcl_action:/opt/dev/ros2_humble/install/examples_rclcpp_wait_set:/opt/dev/ros2_humble/install/examples_rclcpp_minimal_service:/opt/dev/ros2_humble/install/examples_rclcpp_minimal_client:/opt/dev/ros2_humble/install/examples_rclcpp_async_client:/opt/dev/ros2_humble/install/example_interfaces:/opt/dev/ros2_humble/install/action_tutorials_interfaces:/opt/dev/ros2_humble/install/action_msgs:/opt/dev/ros2_humble/install/unique_identifier_msgs:/opt/dev/ros2_humble/install/ament_lint_common:/opt/dev/ros2_humble/install/ament_cmake_uncrustify:/opt/dev/ros2_humble/install/ament_uncrustify:/opt/dev/ros2_humble/install/uncrustify_vendor:/opt/dev/ros2_humble/install/trajectory_msgs:/opt/dev/ros2_humble/install/tracetools_trace:/opt/dev/ros2_humble/install/tracetools_read:/opt/dev/ros2_humble/install/topic_statistics_demo:/opt/dev/ros2_humble/install/pendulum_control:/opt/dev/ros2_humble/install/tlsf_cpp:/opt/dev/ros2_humble/install/test_tracetools:/opt/dev/ros2_humble/install/rqt_gui_cpp:/opt/dev/ros2_humble/install/rosbag2_test_common:/opt/dev/ros2_humble/install/ros2lifecycle_test_fixtures:/opt/dev/ros2_humble/install/lifecycle:/opt/dev/ros2_humble/install/rclcpp_lifecycle:/opt/dev/ros2_humble/install/logging_demo:/opt/dev/ros2_humble/install/image_tools:/opt/dev/ros2_humble/install/examples_rclcpp_minimal_subscriber:/opt/dev/ros2_humble/install/examples_rclcpp_minimal_composition:/opt/dev/ros2_humble/install/demo_nodes_cpp_native:/opt/dev/ros2_humble/install/rclcpp_components:/opt/dev/ros2_humble/install/intra_process_demo:/opt/dev/ros2_humble/install/examples_rclcpp_multithreaded_executor:/opt/dev/ros2_humble/install/examples_rclcpp_minimal_timer:/opt/dev/ros2_humble/install/examples_rclcpp_minimal_publisher:/opt/dev/ros2_humble/install/examples_rclcpp_cbg_executor:/opt/dev/ros2_humble/install/dummy_sensors:/opt/dev/ros2_humble/install/dummy_map_server:/opt/dev/ros2_humble/install/rclcpp:/opt/dev/ros2_humble/install/rcl_lifecycle:/opt/dev/ros2_humble/install/libstatistics_collector:/opt/dev/ros2_humble/install/rcl:/opt/dev/ros2_humble/install/rmw_implementation:/opt/dev/ros2_humble/install/rmw_fastrtps_dynamic_cpp:/opt/dev/ros2_humble/install/rmw_fastrtps_cpp:/opt/dev/ros2_humble/install/rmw_fastrtps_shared_cpp:/opt/dev/ros2_humble/install/rmw_cyclonedds_cpp:/opt/dev/ros2_humble/install/tracetools:/opt/dev/ros2_humble/install/tlsf:/opt/dev/ros2_humble/install/tinyxml_vendor:/opt/dev/ros2_humble/install/qt_gui_core:/opt/dev/ros2_humble/install/qt_gui_cpp:/opt/dev/ros2_humble/install/pluginlib:/opt/dev/ros2_humble/install/tinyxml2_vendor:/opt/dev/ros2_humble/install/tf2_eigen_kdl:/opt/dev/ros2_humble/install/tf2:/opt/dev/ros2_humble/install/test_tracetools_launch:/opt/dev/ros2_humble/install/test_security:/opt/dev/ros2_humble/install/test_rmw_implementation:/opt/dev/ros2_humble/install/test_rclcpp:/opt/dev/ros2_humble/install/test_quality_of_service:/opt/dev/ros2_humble/install/test_launch_testing:/opt/dev/ros2_humble/install/test_launch_ros:/opt/dev/ros2_humble/install/test_interface_files:/opt/dev/ros2_humble/install/test_communication:/opt/dev/ros2_humble/install/test_cli_remapping:/opt/dev/ros2_humble/install/test_cli:/opt/dev/ros2_humble/install/qt_gui_app:/opt/dev/ros2_humble/install/qt_gui:/opt/dev/ros2_humble/install/tango_icons_vendor:/opt/dev/ros2_humble/install/stereo_msgs:/opt/dev/ros2_humble/install/std_srvs:/opt/dev/ros2_humble/install/shape_msgs:/opt/dev/ros2_humble/install/sensor_msgs_py:/opt/dev/ros2_humble/install/map_msgs:/opt/dev/ros2_humble/install/sensor_msgs:/opt/dev/ros2_humble/install/nav_msgs:/opt/dev/ros2_humble/install/diagnostic_msgs:/opt/dev/ros2_humble/install/geometry_msgs:/opt/dev/ros2_humble/install/actionlib_msgs:/opt/dev/ros2_humble/install/std_msgs:/opt/dev/ros2_humble/install/statistics_msgs:/opt/dev/ros2_humble/install/sqlite3_vendor:/opt/dev/ros2_humble/install/rcl_logging_spdlog:/opt/dev/ros2_humble/install/spdlog_vendor:/opt/dev/ros2_humble/install/shared_queues_vendor:/opt/dev/ros2_humble/install/rviz_rendering_tests:/opt/dev/ros2_humble/install/rviz_rendering:/opt/dev/ros2_humble/install/rviz_ogre_vendor:/opt/dev/ros2_humble/install/rviz_assimp_vendor:/opt/dev/ros2_humble/install/rttest:/opt/dev/ros2_humble/install/rmw_connextddsmicro:/opt/dev/ros2_humble/install/rmw_connextdds:/opt/dev/ros2_humble/install/rmw_connextdds_common:/opt/dev/ros2_humble/install/rti_connext_dds_cmake_module:/opt/dev/ros2_humble/install/rosgraph_msgs:/opt/dev/ros2_humble/install/rosbag2_interfaces:/opt/dev/ros2_humble/install/rmw_dds_common:/opt/dev/ros2_humble/install/composition_interfaces:/opt/dev/ros2_humble/install/rcl_interfaces:/opt/dev/ros2_humble/install/pendulum_msgs:/opt/dev/ros2_humble/install/lifecycle_msgs:/opt/dev/ros2_humble/install/builtin_interfaces:/opt/dev/ros2_humble/install/rosidl_default_runtime:/opt/dev/ros2_humble/install/rosidl_default_generators:/opt/dev/ros2_humble/install/rosidl_generator_py:/opt/dev/ros2_humble/install/rpyutils:/opt/dev/ros2_humble/install/rosidl_typesupport_introspection_tests:/opt/dev/ros2_humble/install/rosidl_typesupport_cpp:/opt/dev/ros2_humble/install/rosidl_typesupport_introspection_cpp:/opt/dev/ros2_humble/install/rosidl_typesupport_c:/opt/dev/ros2_humble/install/rosidl_typesupport_introspection_c:/opt/dev/ros2_humble/install/rosidl_typesupport_fastrtps_c:/opt/dev/ros2_humble/install/rosidl_typesupport_fastrtps_cpp:/opt/dev/ros2_humble/install/rosidl_generator_cpp:/opt/dev/ros2_humble/install/rosidl_runtime_cpp:/opt/dev/ros2_humble/install/rcl_yaml_param_parser:/opt/dev/ros2_humble/install/rmw:/opt/dev/ros2_humble/install/rosidl_runtime_c:/opt/dev/ros2_humble/install/rosidl_generator_c:/opt/dev/ros2_humble/install/rosidl_typesupport_interface:/opt/dev/ros2_humble/install/rosidl_runtime_py:/opt/dev/ros2_humble/install/rosidl_generator_dds_idl:/opt/dev/ros2_humble/install/rosidl_cmake:/opt/dev/ros2_humble/install/rosidl_parser:/opt/dev/ros2_humble/install/rosidl_adapter:/opt/dev/ros2_humble/install/rosidl_cli:/opt/dev/ros2_humble/install/rosbag2_tests:/opt/dev/ros2_humble/install/ros_environment:/opt/dev/ros2_humble/install/rmw_implementation_cmake:/opt/dev/ros2_humble/install/resource_retriever:/opt/dev/ros2_humble/install/class_loader:/opt/dev/ros2_humble/install/rcpputils:/opt/dev/ros2_humble/install/rcl_logging_noop:/opt/dev/ros2_humble/install/rcl_logging_interface:/opt/dev/ros2_humble/install/rcutils:/opt/dev/ros2_humble/install/qt_gui_py_common:/opt/dev/ros2_humble/install/qt_dotgraph:/opt/dev/ros2_humble/install/python_qt_binding:/opt/dev/ros2_humble/install/python_orocos_kdl_vendor:/opt/dev/ros2_humble/install/launch_testing_ament_cmake:/opt/dev/ros2_humble/install/python_cmake_module:/opt/dev/ros2_humble/install/pybind11_vendor:/opt/dev/ros2_humble/install/performance_test_fixture:/opt/dev/ros2_humble/install/launch_pytest:/opt/dev/ros2_humble/install/launch_testing:/opt/dev/ros2_humble/install/launch_yaml:/opt/dev/ros2_humble/install/launch_xml:/opt/dev/ros2_humble/install/launch:/opt/dev/ros2_humble/install/osrf_pycommon:/opt/dev/ros2_humble/install/orocos_kdl_vendor:/opt/dev/ros2_humble/install/mimick_vendor:/opt/dev/ros2_humble/install/libyaml_vendor:/opt/dev/ros2_humble/install/libcurl_vendor:/opt/dev/ros2_humble/install/launch_testing_examples:/opt/dev/ros2_humble/install/keyboard_handler:/opt/dev/ros2_humble/install/ament_cmake_ros:/opt/dev/ros2_humble/install/ament_cmake_gmock:/opt/dev/ros2_humble/install/ament_cmake_auto:/opt/dev/ros2_humble/install/ament_cmake_gtest:/opt/dev/ros2_humble/install/ament_cmake_google_benchmark:/opt/dev/ros2_humble/install/fastrtps_cmake_module:/opt/dev/ros2_humble/install/eigen3_cmake_module:/opt/dev/ros2_humble/install/domain_coordinator:/opt/dev/ros2_humble/install/console_bridge_vendor:/opt/dev/ros2_humble/install/ament_cmake_xmllint:/opt/dev/ros2_humble/install/ament_xmllint:/opt/dev/ros2_humble/install/ament_cmake_pyflakes:/opt/dev/ros2_humble/install/ament_pyflakes:/opt/dev/ros2_humble/install/ament_cmake_pycodestyle:/opt/dev/ros2_humble/install/ament_pycodestyle:/opt/dev/ros2_humble/install/ament_cmake_pep257:/opt/dev/ros2_humble/install/ament_pep257:/opt/dev/ros2_humble/install/ament_cmake_pclint:/opt/dev/ros2_humble/install/ament_pclint:/opt/dev/ros2_humble/install/ament_lint_auto:/opt/dev/ros2_humble/install/ament_cmake:/opt/dev/ros2_humble/install/ament_cmake_version:/opt/dev/ros2_humble/install/ament_cmake_pytest:/opt/dev/ros2_humble/install/ament_cmake_nose:/opt/dev/ros2_humble/install/ament_cmake_mypy:/opt/dev/ros2_humble/install/ament_cmake_lint_cmake:/opt/dev/ros2_humble/install/ament_cmake_flake8:/opt/dev/ros2_humble/install/ament_cmake_cpplint:/opt/dev/ros2_humble/install/ament_cmake_cppcheck:/opt/dev/ros2_humble/install/ament_cmake_copyright:/opt/dev/ros2_humble/install/ament_cmake_clang_tidy:/opt/dev/ros2_humble/install/ament_cmake_clang_format:/opt/dev/ros2_humble/install/ament_cmake_test:/opt/dev/ros2_humble/install/ament_cmake_target_dependencies:/opt/dev/ros2_humble/install/ament_cmake_python:/opt/dev/ros2_humble/install/ament_cmake_export_dependencies:/opt/dev/ros2_humble/install/ament_cmake_libraries:/opt/dev/ros2_humble/install/ament_cmake_include_directories:/opt/dev/ros2_humble/install/ament_cmake_gen_version_h:/opt/dev/ros2_humble/install/ament_cmake_export_targets:/opt/dev/ros2_humble/install/ament_cmake_export_link_flags:/opt/dev/ros2_humble/install/ament_cmake_export_interfaces:/opt/dev/ros2_humble/install/ament_cmake_export_libraries:/opt/dev/ros2_humble/install/ament_cmake_export_include_directories:/opt/dev/ros2_humble/install/ament_cmake_export_definitions:/opt/dev/ros2_humble/install/ament_cmake_core:/opt/dev/ros2_humble/install/ament_package:/opt/dev/ros2_humble/install/ament_mypy:/opt/dev/ros2_humble/install/ament_lint_cmake:/opt/dev/ros2_humble/install/ament_flake8:/opt/dev/ros2_humble/install/ament_copyright:/opt/dev/ros2_humble/install/ament_lint:/opt/dev/ros2_humble/install/ament_index_python:/opt/dev/ros2_humble/install/ament_index_cpp:/opt/dev/ros2_humble/install/ament_cpplint:/opt/dev/ros2_humble/install/ament_cppcheck:/opt/dev/ros2_humble/install/ament_clang_tidy:/opt/dev/ros2_humble/install/ament_clang_format
I ever tried to install the ROS2 Rolling through: -Debian packages -“fat” archive
I haven't built ROS2 from scratch for a long time, but I think the result should be the same with these two above, did you source something like /opt/ros/rolling/local_setup.zsh
?
I sourced local_setup.bash
or setup.bash
I guess it is not completely the same as if you install it via debian package everything is in /opt/ros/rolling with an include directory following. This include dir does not even exist if you build from source :/ If you build from source there is a subfolder for all ros packages in your install dir. In those you have the include dirs you are looking for
I remember there was once a flag called --merge-install
, which enables merging all the components together, please check with https://docs.ros.org/en/eloquent/Installation/Linux-Development-Setup.html#build-the-code-in-the-workspace, but not sure whether it's still feasible for Humble. What is certain is that installing from Debian package does merge them together.
Have just rebuild ros2 humble with the --merge-install
flag and now i also have just the one path in the $AMENT_PREFIX_PATH
variable. It should work to install the git version now, but should be mentioned or fixed to work with the not merged version :).
Nevertheless thanks :)
The instruction was removed, please check with https://github.com/RobotWebTools/rclnodejs/blob/c080755e1ccac0a47aba45a1e500c4c12c7e8103/docs/BUILDING.md#get-ready-for-ros-2
@MMM-Jasmin we will fix this issue soon, thanks!
just a small typo in
(please build wiht flag --merge-install).
but thanks :)
HI, i am trying to install install this package on a nvidia AGX Orin and I am facing compiling errors. To get more info I used "npm install --loglevel verbose" on this setup:
and this is the output:
Sadly i am not an expert on nodejs and hopefully someone can help me Kind regards, Nils