diff options
author | CoprDistGit <infra@openeuler.org> | 2025-03-08 11:45:33 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2025-03-08 11:45:33 +0000 |
commit | cccace7e92ca3e306268fb685c83f51a2735dbb4 (patch) | |
tree | a43bacc0325a8534d2ef565663c80f05df5b12fa | |
parent | 6e13592dfe179702f57dada89349b97e2c0ee362 (diff) |
automatic import of ros-humble-cartographer-rosopeneuler24.03_LTS
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | cartographer-ros-adapt-glog-0.6.0.patch | 11 | ||||
-rw-r--r-- | cartographer-ros-fix-absl.patch | 30 | ||||
-rw-r--r-- | cartographer-ros-fix-multiple-definition-error.patch | 23 | ||||
-rw-r--r-- | cartographer-ros.spec | 153 | ||||
-rw-r--r-- | sources | 1 |
6 files changed, 219 insertions, 0 deletions
@@ -0,0 +1 @@ +/ros-humble-cartographer-ros_2.0.9000.orig.tar.gz diff --git a/cartographer-ros-adapt-glog-0.6.0.patch b/cartographer-ros-adapt-glog-0.6.0.patch new file mode 100644 index 0000000..8bbe502 --- /dev/null +++ b/cartographer-ros-adapt-glog-0.6.0.patch @@ -0,0 +1,11 @@ +--- ros-humble-cartographer-ros-2.0.9000/src/ros_log_sink.cpp 2022-04-20 08:01:33.000000000 +0800 ++++ ros-humble-cartographer-ros-2.0.9000/src/ros_log_sink.cpp 2023-09-13 10:45:08.000000000 +0800 +@@ -46,7 +46,7 @@ + (void) base_filename; // TODO: remove unused arg ? + + const std::string message_string = ::google::LogSink::ToString( +- severity, GetBasename(filename), line, tm_time, message, message_len); ++ severity, GetBasename(filename), line, ::google::LogMessageTime(*tm_time), message, message_len); + switch (severity) { + case ::google::GLOG_INFO: + RCLCPP_INFO_STREAM(logger_, message_string); diff --git a/cartographer-ros-fix-absl.patch b/cartographer-ros-fix-absl.patch new file mode 100644 index 0000000..8c7459b --- /dev/null +++ b/cartographer-ros-fix-absl.patch @@ -0,0 +1,30 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 213770e..7651bc3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -27,6 +27,7 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") + endif() + + set(CMAKE_POSITION_INDEPENDENT_CODE ON) ++set(ABSL_PATCH_LIBRARIES absl_log_internal_check_op absl_log_internal_message) + + find_package(builtin_interfaces REQUIRED) + find_package(cartographer REQUIRED) +@@ -50,6 +51,8 @@ find_package(urdf REQUIRED) + find_package(urdfdom_headers REQUIRED) + find_package(visualization_msgs REQUIRED) + ++add_definitions(-DABSL_LEGACY_THREAD_ANNOTATIONS) ++ + include_directories( + include + ${PCL_INCLUDE_DIRS} +@@ -103,7 +106,7 @@ set(dependencies + ament_target_dependencies(${PROJECT_NAME} + ${dependencies} + ) +-target_link_libraries(${PROJECT_NAME} cartographer ${PCL_LIBRARIES}) ++target_link_libraries(${PROJECT_NAME} cartographer ${PCL_LIBRARIES} ${ABSL_PATCH_LIBRARIES}) + + # Executables + add_executable(cartographer_node src/node_main.cpp) diff --git a/cartographer-ros-fix-multiple-definition-error.patch b/cartographer-ros-fix-multiple-definition-error.patch new file mode 100644 index 0000000..c5c91b3 --- /dev/null +++ b/cartographer-ros-fix-multiple-definition-error.patch @@ -0,0 +1,23 @@ +--- ros-humble-cartographer-ros-2.0.9000/CMakeLists.txt_org 2023-05-04 15:53:33.555572652 +0800 ++++ ros-humble-cartographer-ros-2.0.9000/CMakeLists.txt 2023-05-04 15:54:17.268212997 +0800 +@@ -59,20 +59,13 @@ + # Library + add_library(${PROJECT_NAME} + src/assets_writer.cpp +- src/assets_writer_main.cpp + src/map_builder_bridge.cpp + src/msg_conversion.cpp + src/node_constants.cpp + src/node.cpp +- src/node_main.cpp + src/node_options.cpp +- src/occupancy_grid_node_main.cpp + src/offline_node.cpp +- src/offline_node_main.cpp +- src/pbstream_map_publisher_main.cpp +- src/pbstream_to_ros_map_main.cpp + src/playable_bag.cpp +- src/rosbag_validate_main.cpp + src/ros_log_sink.cpp + src/ros_map.cpp + src/ros_map_writing_points_processor.cpp diff --git a/cartographer-ros.spec b/cartographer-ros.spec new file mode 100644 index 0000000..101b0b6 --- /dev/null +++ b/cartographer-ros.spec @@ -0,0 +1,153 @@ +%bcond_without tests +%bcond_without weak_deps + +%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') +%global __provides_exclude_from ^/opt/ros/%{ros_distro}/.*$ +%global __requires_exclude_from ^/opt/ros/%{ros_distro}/.*$ + +%define RosPkgName cartographer-ros +%define ros_distro humble + +Name: ros-%{ros_distro}-%{RosPkgName} +Version: 2.0.9000 +Release: 2%{?dist}%{?release_suffix} +Summary: ROS cartographer-ros package + +Url: https://github.com/cartographer-project/cartographer_ros +License: Apache 2.0 +Source0: %{name}_%{version}.orig.tar.gz +Patch0: cartographer-ros-fix-multiple-definition-error.patch +Patch1: cartographer-ros-fix-absl.patch +Patch2: cartographer-ros-adapt-glog-0.6.0.patch + +Requires: ros-%{ros_distro}-builtin-interfaces +Requires: ros-%{ros_distro}-cartographer +Requires: ros-%{ros_distro}-cartographer-ros-msgs +Requires: eigen3-devel +Requires: ros-%{ros_distro}-geometry-msgs +Requires: abseil-cpp-devel +Requires: gflags-devel +Requires: glog-devel +Requires: pcl-devel +Requires: ros-%{ros_distro}-nav-msgs +Requires: ros-%{ros_distro}-pcl-conversions +Requires: ros-%{ros_distro}-rclcpp +Requires: ros-%{ros_distro}-rosbag2-cpp +Requires: ros-%{ros_distro}-rosbag2-storage +Requires: ros-%{ros_distro}-sensor-msgs +Requires: ros-%{ros_distro}-std-msgs +Requires: ros-%{ros_distro}-tf2 +Requires: ros-%{ros_distro}-tf2-eigen +Requires: ros-%{ros_distro}-tf2-msgs +Requires: ros-%{ros_distro}-tf2-ros +Requires: ros-%{ros_distro}-urdf +Requires: ros-%{ros_distro}-visualization-msgs +Requires: ros-%{ros_distro}-launch +Requires: ros-%{ros_distro}-robot-state-publisher +Requires: ros-%{ros_distro}-ros-workspace + +BuildRequires: ros-%{ros_distro}-builtin-interfaces +BuildRequires: ros-%{ros_distro}-cartographer +BuildRequires: ros-%{ros_distro}-cartographer-ros-msgs +BuildRequires: eigen3-devel +BuildRequires: ros-%{ros_distro}-geometry-msgs +BuildRequires: abseil-cpp-devel +BuildRequires: gflags-devel +BuildRequires: glog-devel +BuildRequires: pcl-devel +BuildRequires: ros-%{ros_distro}-nav-msgs +BuildRequires: ros-%{ros_distro}-pcl-conversions +BuildRequires: ros-%{ros_distro}-rclcpp +BuildRequires: ros-%{ros_distro}-rosbag2-cpp +BuildRequires: ros-%{ros_distro}-rosbag2-storage +BuildRequires: ros-%{ros_distro}-sensor-msgs +BuildRequires: ros-%{ros_distro}-std-msgs +BuildRequires: ros-%{ros_distro}-tf2 +BuildRequires: ros-%{ros_distro}-tf2-eigen +BuildRequires: ros-%{ros_distro}-tf2-msgs +BuildRequires: ros-%{ros_distro}-tf2-ros +BuildRequires: ros-%{ros_distro}-urdf +BuildRequires: ros-%{ros_distro}-visualization-msgs +BuildRequires: gmock-devel +BuildRequires: python3-sphinx +BuildRequires: ros-%{ros_distro}-ament-cmake +BuildRequires: ros-%{ros_distro}-ros-workspace + +%if 0%{?with_tests} +%endif + +Provides: %{name}-devel = %{version}-%{release} +Provides: %{name}-doc = %{version}-%{release} +Provides: %{name}-runtime = %{version}-%{release} + +%description + + Cartographer is a system that provides real-time simultaneous localization + and mapping (SLAM) in 2D and 3D across multiple platforms and sensor + configurations. This package provides Cartographer's ROS integration. + + +%prep +%autosetup -p1 + +%build +# Needed to bootstrap since the ros_workspace package does not yet exist. +export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages + +# In case we're installing to a non-standard location, look for a setup.sh +# in the install tree and source it. It will set things like +# CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. +if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi +mkdir -p .obj-%{_target_platform} && cd .obj-%{_target_platform} +%cmake3 \ + -UINCLUDE_INSTALL_DIR \ + -ULIB_INSTALL_DIR \ + -USYSCONF_INSTALL_DIR \ + -USHARE_INSTALL_PREFIX \ + -ULIB_SUFFIX \ + -DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \ + -DAMENT_PREFIX_PATH="/opt/ros/%{ros_distro}" \ + -DCMAKE_PREFIX_PATH="/opt/ros/%{ros_distro}" \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ +%if !0%{?with_tests} + -DBUILD_TESTING=OFF \ +%endif + .. + +%make_build + +%install +# Needed to bootstrap since the ros_workspace package does not yet exist. +export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages + +# In case we're installing to a non-standard location, look for a setup.sh +# in the install tree and source it. It will set things like +# CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. +if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi +%make_install -C .obj-%{_target_platform} + +%if 0%{?with_tests} +%check +# Needed to bootstrap since the ros_workspace package does not yet exist. +export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages + +# Look for a Makefile target with a name indicating that it runs tests +TEST_TARGET=$(%__make -qp -C .obj-%{_target_platform} | sed "s/^\(test\|check\):.*/\\1/;t f;d;:f;q0") +if [ -n "$TEST_TARGET" ]; then +# In case we're installing to a non-standard location, look for a setup.sh +# in the install tree and source it. It will set things like +# CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. +if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi +CTEST_OUTPUT_ON_FAILURE=1 \ + %make_build -C .obj-%{_target_platform} $TEST_TARGET || echo "RPM TESTS FAILED" +else echo "RPM TESTS SKIPPED"; fi +%endif + +%files +/opt/ros/%{ros_distro} + +%changelog +* Wed Sep 12 2023 simonaxi <18701881329@163.com> - 2.0.9000-2 +- fix: adapter absl patch +* Thu May 04 2023 Chris Lalancette clalancette@openrobotics.org - 2.0.9000-1 +- Autogenerated by ros-porting-tools @@ -0,0 +1 @@ +33a6e199ee0e769279408be3086ef161 ros-humble-cartographer-ros_2.0.9000.orig.tar.gz |