summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2025-03-08 11:45:33 +0000
committerCoprDistGit <infra@openeuler.org>2025-03-08 11:45:33 +0000
commitcccace7e92ca3e306268fb685c83f51a2735dbb4 (patch)
treea43bacc0325a8534d2ef565663c80f05df5b12fa
parent6e13592dfe179702f57dada89349b97e2c0ee362 (diff)
automatic import of ros-humble-cartographer-rosopeneuler24.03_LTS
-rw-r--r--.gitignore1
-rw-r--r--cartographer-ros-adapt-glog-0.6.0.patch11
-rw-r--r--cartographer-ros-fix-absl.patch30
-rw-r--r--cartographer-ros-fix-multiple-definition-error.patch23
-rw-r--r--cartographer-ros.spec153
-rw-r--r--sources1
6 files changed, 219 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..c6aecb8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
diff --git a/sources b/sources
new file mode 100644
index 0000000..ba4c607
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+33a6e199ee0e769279408be3086ef161 ros-humble-cartographer-ros_2.0.9000.orig.tar.gz