summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fix-gtsam42-vertigo-manifold-traits.patch30
-rw-r--r--rtabmap.spec9
2 files changed, 38 insertions, 1 deletions
diff --git a/fix-gtsam42-vertigo-manifold-traits.patch b/fix-gtsam42-vertigo-manifold-traits.patch
new file mode 100644
index 0000000..8d7f830
--- /dev/null
+++ b/fix-gtsam42-vertigo-manifold-traits.patch
@@ -0,0 +1,30 @@
+diff --git a/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h b/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h
+index e95e0b5..5131d04 100644
+--- a/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h
++++ b/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h
+@@ -110,6 +110,10 @@ namespace gtsam {
+ // Define Key to be Testable by specializing gtsam::traits
+ template<typename T> struct traits;
+ template<> struct traits<vertigo::SwitchVariableLinear> {
++ typedef gtsam::manifold_tag structure_category;
++ enum { dimension = 1 };
++ typedef vertigo::SwitchVariableLinear ManifoldType;
++
+ static void Print(const vertigo::SwitchVariableLinear& key, const std::string& str = "") {
+ key.print(str);
+ }
+diff --git a/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h b/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h
+index 79e1fca..059a372 100644
+--- a/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h
++++ b/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h
+@@ -111,6 +111,10 @@ namespace gtsam {
+ // Define Key to be Testable by specializing gtsam::traits
+ template<typename T> struct traits;
+ template<> struct traits<vertigo::SwitchVariableSigmoid> {
++ typedef gtsam::manifold_tag structure_category;
++ enum { dimension = 1 };
++ typedef vertigo::SwitchVariableSigmoid ManifoldType;
++
+ static void Print(const vertigo::SwitchVariableSigmoid& key, const std::string& str = "") {
+ key.print(str);
+ }
diff --git a/rtabmap.spec b/rtabmap.spec
index fb2ca5c..e133430 100644
--- a/rtabmap.spec
+++ b/rtabmap.spec
@@ -11,7 +11,7 @@
Name: ros-%{ros_distro}-%{RosPkgName}
Version: 0.22.1
-Release: 1%{?dist}%{?release_suffix}
+Release: 2%{?dist}%{?release_suffix}
Summary: RTAB-Map's standalone library. RTAB-Map is a RGB-D SLAM approach with real-time constraints.
Url: http://introlab.github.io/rtabmap
@@ -20,6 +20,7 @@ Source0: %{RosPkgName}-%{version}.tar.gz.aa
Source1: %{RosPkgName}-%{version}.tar.gz.ab
Source2: %{RosPkgName}-%{version}.tar.gz.ac
Patch0: add-suitesparse-include.patch
+Patch1: fix-gtsam42-vertigo-manifold-traits.patch
Requires: ros-%{ros_distro}-cv-bridge
@@ -132,5 +133,11 @@ else echo "RPM TESTS SKIPPED"; fi
/opt/ros/%{ros_distro}
%changelog
+* Sun Apr 06 2026 openEuler ROS SIG - 0.22.1-2
+- Add fix-gtsam42-vertigo-manifold-traits.patch: add missing manifold traits
+ (structure_category, dimension, ManifoldType) to gtsam::traits specializations
+ for vertigo::SwitchVariableLinear and vertigo::SwitchVariableSigmoid, required
+ by GTSAM 4.2.0 IsManifold concept check in NoiseModel.h and Manifold.h
+
* Wed Mar 25 2026 Mathieu Labbe matlabbe@gmail.com - 0.22.1-1
- Autogenerated by ros-porting-tools