summaryrefslogtreecommitdiff
path: root/kinematics-interface-kdl-eigen-include.patch
blob: 48a118e23552aaf6f63e73c333a70968d17c826a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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"