summaryrefslogtreecommitdiff
path: root/kinematics-interface-kdl-eigen-include.patch
diff options
context:
space:
mode:
Diffstat (limited to 'kinematics-interface-kdl-eigen-include.patch')
-rw-r--r--kinematics-interface-kdl-eigen-include.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/kinematics-interface-kdl-eigen-include.patch b/kinematics-interface-kdl-eigen-include.patch
new file mode 100644
index 0000000..48a118e
--- /dev/null
+++ b/kinematics-interface-kdl-eigen-include.patch
@@ -0,0 +1,35 @@
+From: Rourou2285 <snowmantin@foxmail.com>
+Date: Sat, 3 Oct 2026 17:25:38 +0800
+Subject: [PATCH] Use the Eigen include directory provided by Eigen3Config.cmake
+
+Use the Eigen include directory provided by Eigen3Config.cmake.
+
+Upstream includes Eigen with a hardcoded "eigen3/" prefix:
+
+ #include "eigen3/Eigen/Core"
+
+That only resolves when the headers are installed under /usr/include/eigen3,
+which is the case on openEuler 24.03. On openEuler 26.09 eigen3-devel installs
+them under /usr/include/eigen instead, so the build fails with:
+
+ fatal error: eigen3/Eigen/Core: No such file or directory
+
+The target already links Eigen3::Eigen (find_package(Eigen3 REQUIRED NO_MODULE)),
+and that imported target adds the correct include directory on both layouts, so
+including <Eigen/Core> and <Eigen/LU> works everywhere.
+
+Signed-off-by: Rourou2285 <snowmantin@foxmail.com>
+
+--- a/include/kinematics_interface_kdl/kinematics_interface_kdl.hpp
++++ b/include/kinematics_interface_kdl/kinematics_interface_kdl.hpp
+@@ -23,8 +23,8 @@
+ #include <unordered_map>
+ #include <vector>
+
+-#include "eigen3/Eigen/Core"
+-#include "eigen3/Eigen/LU"
++#include <Eigen/Core>
++#include <Eigen/LU>
+ #include "kdl/chainfksolverpos_recursive.hpp"
+ #include "kdl/chainfksolvervel_recursive.hpp"
+ #include "kdl/chainjnttojacsolver.hpp"