summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/recipes-support/libeigen/libeigen/0001-Default-eigen_packet_wrapper-constructor.patch72
-rw-r--r--meta-oe/recipes-support/libeigen/libeigen/0001-Remove-LGPL-Code-and-references.patch (renamed from meta-oe/recipes-support/libeigen/libeigen/0002-Remove-LGPL-Code-and-references.patch)28
-rw-r--r--meta-oe/recipes-support/libeigen/libeigen_3.4.1.bb (renamed from meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb)14
3 files changed, 20 insertions, 94 deletions
diff --git a/meta-oe/recipes-support/libeigen/libeigen/0001-Default-eigen_packet_wrapper-constructor.patch b/meta-oe/recipes-support/libeigen/libeigen/0001-Default-eigen_packet_wrapper-constructor.patch
deleted file mode 100644
index 84b5a4da9f..0000000000
--- a/meta-oe/recipes-support/libeigen/libeigen/0001-Default-eigen_packet_wrapper-constructor.patch
+++ /dev/null
@@ -1,72 +0,0 @@
1From cb507309937958c632147de87e8f1231d6698847 Mon Sep 17 00:00:00 2001
2From: Antonio Sanchez <cantonios@google.com>
3Date: Tue, 14 Sep 2021 10:57:22 -0700
4Subject: [PATCH] Default eigen_packet_wrapper constructor.
5
6This makes it trivial, allowing use of `memcpy`.
7
8Fixes #2326
9
10Upstream-Status: Backport [https://gitlab.com/libeigen/eigen/-/merge_requests/645/diffs?commit_id=cb507309937958c632147de87e8f1231d6698847]
11Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
12
13* fixes build failures for arm targets with NEON enabled (e.g. -mfpu=neon-vfpv4)
14 for recipes with -Werror enabled and gcc-11, e.g. fuse-core, robot-localization,
15 prbt-ikfast-manipulator-plugin, rm-chassis-controllers in meta-ros1-noetic:
16
17In file included from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/Core:214,
18 from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/macros.h:63,
19 from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/loss.h:37,
20 from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/constraint.h:37,
21 from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/src/constraint.cpp:34:
22/jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h: In function 'Packet Eigen::internal::pload(const typename Eigen::internal::unpacket_traits<T>::type*) [with Packet = Eigen::internal::eigen_packet_wrapper<int, 2>; typename Eigen::internal::unpacket_traits<T>::type = signed char]':
23/jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h:1671:9: error: 'void* memcpy(void*, const void*, size_t)' copying an object of non-trivial type 'Eigen::internal::Packet4c' {aka 'struct Eigen::internal::eigen_packet_wrapper<int, 2>'} from an array of 'const int8_t' {aka 'const signed char'} [-Werror=class-memaccess]
24 1671 | memcpy(&res, from, sizeof(Packet4c));
25 | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26In file included from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/Core:172,
27 from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/macros.h:63,
28 from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/loss.h:37,
29 from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/constraint.h:37,
30 from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/src/constraint.cpp:34:
31/jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/GenericPacketMath.h:159:8: note: 'Eigen::internal::Packet4c' {aka 'struct Eigen::internal::eigen_packet_wrapper<int, 2>'} declared here
32 159 | struct eigen_packet_wrapper
33 | ^~~~~~~~~~~~~~~~~~~~
34In file included from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/Core:214,
35 from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/macros.h:63,
36 from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/loss.h:37,
37 from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/constraint.h:37,
38 from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/src/constraint.cpp:34:
39/jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h: In function 'Packet Eigen::internal::ploadu(const typename Eigen::internal::unpacket_traits<T>::type*) [with Packet = Eigen::internal::eigen_packet_wrapper<int, 2>; typename Eigen::internal::unpacket_traits<T>::type = signed char]':
40/jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h:1716:9: error: 'void* memcpy(void*, const void*, size_t)' copying an object of non-trivial type 'Eigen::internal::Packet4c' {aka 'struct Eigen::internal::eigen_packet_wrapper<int, 2>'} from an array of 'const int8_t' {aka 'const signed char'} [-Werror=class-memaccess]
41 1716 | memcpy(&res, from, sizeof(Packet4c));
42 | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
43In file included from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/Core:172,
44 from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/macros.h:63,
45 from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/loss.h:37,
46 from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/constraint.h:37,
47 from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/src/constraint.cpp:34:
48/jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/GenericPacketMath.h:159:8: note: 'Eigen::internal::Packet4c' {aka 'struct Eigen::internal::eigen_packet_wrapper<int, 2>'} declared here
49 159 | struct eigen_packet_wrapper
50 | ^~~~~~~~~~~~~~~~~~~~
51cc1plus: all warnings being treated as errors
52
53---
54 Eigen/src/Core/GenericPacketMath.h | 2 +-
55 1 file changed, 1 insertion(+), 1 deletion(-)
56
57diff --git a/Eigen/src/Core/GenericPacketMath.h b/Eigen/src/Core/GenericPacketMath.h
58index 8f8f64f15..72234288e 100644
59--- a/Eigen/src/Core/GenericPacketMath.h
60+++ b/Eigen/src/Core/GenericPacketMath.h
61@@ -162,7 +162,7 @@ struct eigen_packet_wrapper
62 {
63 EIGEN_ALWAYS_INLINE operator T&() { return m_val; }
64 EIGEN_ALWAYS_INLINE operator const T&() const { return m_val; }
65- EIGEN_ALWAYS_INLINE eigen_packet_wrapper() {}
66+ EIGEN_ALWAYS_INLINE eigen_packet_wrapper() = default;
67 EIGEN_ALWAYS_INLINE eigen_packet_wrapper(const T &v) : m_val(v) {}
68 EIGEN_ALWAYS_INLINE eigen_packet_wrapper& operator=(const T &v) {
69 m_val = v;
70--
712.17.1
72
diff --git a/meta-oe/recipes-support/libeigen/libeigen/0002-Remove-LGPL-Code-and-references.patch b/meta-oe/recipes-support/libeigen/libeigen/0001-Remove-LGPL-Code-and-references.patch
index 2d19bc23c8..697f3dfa82 100644
--- a/meta-oe/recipes-support/libeigen/libeigen/0002-Remove-LGPL-Code-and-references.patch
+++ b/meta-oe/recipes-support/libeigen/libeigen/0001-Remove-LGPL-Code-and-references.patch
@@ -1,4 +1,4 @@
1From e63a6950dbebf4dd95e5c74c423c06fd65df5182 Mon Sep 17 00:00:00 2001 1From 5e7b53a3268e7cdc81e358825a8c84f06289866c Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Antonio=20S=C3=A1nchez?= <cantonios@google.com> 2From: =?UTF-8?q?Antonio=20S=C3=A1nchez?= <cantonios@google.com>
3Date: Wed, 8 Feb 2023 01:25:06 +0000 3Date: Wed, 8 Feb 2023 01:25:06 +0000
4Subject: [PATCH] Remove LGPL Code and references. 4Subject: [PATCH] Remove LGPL Code and references.
@@ -12,12 +12,11 @@ Upstream-Status: Backport [https://gitlab.com/libeigen/eigen/-/commit/e256ad1823
12 bench/tensors/eigen_sycl_bench.sh | 1 - 12 bench/tensors/eigen_sycl_bench.sh | 1 -
13 bench/tensors/eigen_sycl_bench_contract.sh | 2 +- 13 bench/tensors/eigen_sycl_bench_contract.sh | 2 +-
14 doc/PreprocessorDirectives.dox | 3 - 14 doc/PreprocessorDirectives.dox | 3 -
15 test/CMakeLists.txt | 1 -
16 test/mpl2only.cpp | 24 - 15 test/mpl2only.cpp | 24 -
17 unsupported/Eigen/IterativeSolvers | 6 - 16 unsupported/Eigen/IterativeSolvers | 6 -
18 .../IterativeSolvers/ConstrainedConjGrad.h | 187 ------- 17 .../IterativeSolvers/ConstrainedConjGrad.h | 187 -------
19 .../IterativeSolvers/IterationController.h | 154 ------ 18 .../IterativeSolvers/IterationController.h | 154 ------
20 12 files changed, 4 insertions(+), 898 deletions(-) 19 11 files changed, 4 insertions(+), 897 deletions(-)
21 delete mode 100644 COPYING.LGPL 20 delete mode 100644 COPYING.LGPL
22 delete mode 100644 Eigen/src/Core/util/NonMPL2.h 21 delete mode 100644 Eigen/src/Core/util/NonMPL2.h
23 delete mode 100644 test/mpl2only.cpp 22 delete mode 100644 test/mpl2only.cpp
@@ -567,7 +566,7 @@ index 1af67cf18..000000000
567-#error Including non-MPL2 code in EIGEN_MPL2_ONLY mode 566-#error Including non-MPL2 code in EIGEN_MPL2_ONLY mode
568-#endif 567-#endif
569diff --git a/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h b/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h 568diff --git a/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h b/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
570index 7803fd817..1a5d7faeb 100644 569index 5e632c4e2..8b6077601 100644
571--- a/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h 570--- a/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
572+++ b/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h 571+++ b/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
573@@ -24,8 +24,7 @@ namespace Eigen { 572@@ -24,8 +24,7 @@ namespace Eigen {
@@ -606,7 +605,7 @@ index 73fd6c4a0..3ab0138a1 100644
606 ./tensor_contract_sycl_bench 605 ./tensor_contract_sycl_bench
607 606
608diff --git a/doc/PreprocessorDirectives.dox b/doc/PreprocessorDirectives.dox 607diff --git a/doc/PreprocessorDirectives.dox b/doc/PreprocessorDirectives.dox
609index 0f545b086..b7d59ccbc 100644 608index eda0d1961..2b5cb1b92 100644
610--- a/doc/PreprocessorDirectives.dox 609--- a/doc/PreprocessorDirectives.dox
611+++ b/doc/PreprocessorDirectives.dox 610+++ b/doc/PreprocessorDirectives.dox
612@@ -92,9 +92,6 @@ run time. However, these assertions do cost time and can thus be turned off. 611@@ -92,9 +92,6 @@ run time. However, these assertions do cost time and can thus be turned off.
@@ -619,18 +618,6 @@ index 0f545b086..b7d59ccbc 100644
619 618
620 \section TopicPreprocessorDirectivesPerformance Alignment, vectorization and performance tweaking 619 \section TopicPreprocessorDirectivesPerformance Alignment, vectorization and performance tweaking
621 620
622diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
623index 5136f82aa..9f557743a 100644
624--- a/test/CMakeLists.txt
625+++ b/test/CMakeLists.txt
626@@ -277,7 +277,6 @@ ei_add_test(special_numbers)
627 ei_add_test(rvalue_types)
628 ei_add_test(dense_storage)
629 ei_add_test(ctorleak)
630-ei_add_test(mpl2only)
631 ei_add_test(inplace_decomposition)
632 ei_add_test(half_float)
633 ei_add_test(bfloat16_float)
634diff --git a/test/mpl2only.cpp b/test/mpl2only.cpp 621diff --git a/test/mpl2only.cpp b/test/mpl2only.cpp
635deleted file mode 100644 622deleted file mode 100644
636index 296350d08..000000000 623index 296350d08..000000000
@@ -662,11 +649,11 @@ index 296350d08..000000000
662- return 0; 649- return 0;
663-} 650-}
664diff --git a/unsupported/Eigen/IterativeSolvers b/unsupported/Eigen/IterativeSolvers 651diff --git a/unsupported/Eigen/IterativeSolvers b/unsupported/Eigen/IterativeSolvers
665index a3f58d676..f045fb607 100644 652index b53f10937..3ac64e9f8 100644
666--- a/unsupported/Eigen/IterativeSolvers 653--- a/unsupported/Eigen/IterativeSolvers
667+++ b/unsupported/Eigen/IterativeSolvers 654+++ b/unsupported/Eigen/IterativeSolvers
668@@ -19,7 +19,6 @@ 655@@ -19,7 +19,6 @@
669 * \defgroup IterativeLinearSolvers_Module Iterative solvers module 656 * \defgroup IterativeLinearSolvers_Module IterativeLinearSolvers module
670 * This module aims to provide various iterative linear and non linear solver algorithms. 657 * This module aims to provide various iterative linear and non linear solver algorithms.
671 * It currently provides: 658 * It currently provides:
672- * - a constrained conjugate gradient 659- * - a constrained conjugate gradient
@@ -1038,3 +1025,6 @@ index a116e09e2..000000000
1038-} // end namespace Eigen 1025-} // end namespace Eigen
1039- 1026-
1040-#endif // EIGEN_ITERATION_CONTROLLER_H 1027-#endif // EIGEN_ITERATION_CONTROLLER_H
1028--
10292.48.1
1030
diff --git a/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb b/meta-oe/recipes-support/libeigen/libeigen_3.4.1.bb
index f5f874941a..c5421e4621 100644
--- a/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb
+++ b/meta-oe/recipes-support/libeigen/libeigen_3.4.1.bb
@@ -13,15 +13,23 @@ LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad \
13" 13"
14 14
15SRC_URI = "git://gitlab.com/libeigen/eigen.git;protocol=http;branch=3.4 \ 15SRC_URI = "git://gitlab.com/libeigen/eigen.git;protocol=http;branch=3.4 \
16 file://0001-Default-eigen_packet_wrapper-constructor.patch \ 16 file://0001-Remove-LGPL-Code-and-references.patch \
17 file://0002-Remove-LGPL-Code-and-references.patch \
18" 17"
19 18
20SRCREV = "3147391d946bb4b6c68edd901f2add6ac1f31f8c" 19SRCREV = "d71c30c47858effcbd39967097a2d99ee48db464"
21 20
22 21
23inherit cmake 22inherit cmake
24 23
24PACKAGECONFIG ??= ""
25
26PACKAGECONFIG[blas] = "-DEIGEN_BUILD_BLAS=ON,-DEIGEN_BUILD_BLAS=OFF,libgfortran"
27PACKAGECONFIG[lapack] = "-DEIGEN_BUILD_LAPACK=ON,-DEIGEN_BUILD_LAPACK=OFF,libgfortran"
28
29EXTRA_OECMAKE += " \
30 -DEIGEN_BUILD_TESTING=OFF \
31"
32
25FILES:${PN}-dev += "${datadir}/eigen3/cmake" 33FILES:${PN}-dev += "${datadir}/eigen3/cmake"
26 34
27# ${PN} is empty so we need to tweak -dev and -dbg package dependencies 35# ${PN} is empty so we need to tweak -dev and -dbg package dependencies