diff options
| -rw-r--r-- | meta-oe/recipes-support/libeigen/libeigen/0001-Default-eigen_packet_wrapper-constructor.patch | 72 | ||||
| -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 @@ | |||
| 1 | From cb507309937958c632147de87e8f1231d6698847 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Antonio Sanchez <cantonios@google.com> | ||
| 3 | Date: Tue, 14 Sep 2021 10:57:22 -0700 | ||
| 4 | Subject: [PATCH] Default eigen_packet_wrapper constructor. | ||
| 5 | |||
| 6 | This makes it trivial, allowing use of `memcpy`. | ||
| 7 | |||
| 8 | Fixes #2326 | ||
| 9 | |||
| 10 | Upstream-Status: Backport [https://gitlab.com/libeigen/eigen/-/merge_requests/645/diffs?commit_id=cb507309937958c632147de87e8f1231d6698847] | ||
| 11 | Signed-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 | |||
| 17 | In 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 | | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 26 | In 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 | | ^~~~~~~~~~~~~~~~~~~~ | ||
| 34 | In 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 | | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 43 | In 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 | | ^~~~~~~~~~~~~~~~~~~~ | ||
| 51 | cc1plus: all warnings being treated as errors | ||
| 52 | |||
| 53 | --- | ||
| 54 | Eigen/src/Core/GenericPacketMath.h | 2 +- | ||
| 55 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 56 | |||
| 57 | diff --git a/Eigen/src/Core/GenericPacketMath.h b/Eigen/src/Core/GenericPacketMath.h | ||
| 58 | index 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 | -- | ||
| 71 | 2.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 @@ | |||
| 1 | From e63a6950dbebf4dd95e5c74c423c06fd65df5182 Mon Sep 17 00:00:00 2001 | 1 | From 5e7b53a3268e7cdc81e358825a8c84f06289866c Mon Sep 17 00:00:00 2001 |
| 2 | From: =?UTF-8?q?Antonio=20S=C3=A1nchez?= <cantonios@google.com> | 2 | From: =?UTF-8?q?Antonio=20S=C3=A1nchez?= <cantonios@google.com> |
| 3 | Date: Wed, 8 Feb 2023 01:25:06 +0000 | 3 | Date: Wed, 8 Feb 2023 01:25:06 +0000 |
| 4 | Subject: [PATCH] Remove LGPL Code and references. | 4 | Subject: [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 |
| 569 | diff --git a/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h b/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h | 568 | diff --git a/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h b/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h |
| 570 | index 7803fd817..1a5d7faeb 100644 | 569 | index 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 | ||
| 608 | diff --git a/doc/PreprocessorDirectives.dox b/doc/PreprocessorDirectives.dox | 607 | diff --git a/doc/PreprocessorDirectives.dox b/doc/PreprocessorDirectives.dox |
| 609 | index 0f545b086..b7d59ccbc 100644 | 608 | index 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 | ||
| 622 | diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt | ||
| 623 | index 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) | ||
| 634 | diff --git a/test/mpl2only.cpp b/test/mpl2only.cpp | 621 | diff --git a/test/mpl2only.cpp b/test/mpl2only.cpp |
| 635 | deleted file mode 100644 | 622 | deleted file mode 100644 |
| 636 | index 296350d08..000000000 | 623 | index 296350d08..000000000 |
| @@ -662,11 +649,11 @@ index 296350d08..000000000 | |||
| 662 | - return 0; | 649 | - return 0; |
| 663 | -} | 650 | -} |
| 664 | diff --git a/unsupported/Eigen/IterativeSolvers b/unsupported/Eigen/IterativeSolvers | 651 | diff --git a/unsupported/Eigen/IterativeSolvers b/unsupported/Eigen/IterativeSolvers |
| 665 | index a3f58d676..f045fb607 100644 | 652 | index 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 | -- | ||
| 1029 | 2.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 | ||
| 15 | SRC_URI = "git://gitlab.com/libeigen/eigen.git;protocol=http;branch=3.4 \ | 15 | SRC_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 | ||
| 20 | SRCREV = "3147391d946bb4b6c68edd901f2add6ac1f31f8c" | 19 | SRCREV = "d71c30c47858effcbd39967097a2d99ee48db464" |
| 21 | 20 | ||
| 22 | 21 | ||
| 23 | inherit cmake | 22 | inherit cmake |
| 24 | 23 | ||
| 24 | PACKAGECONFIG ??= "" | ||
| 25 | |||
| 26 | PACKAGECONFIG[blas] = "-DEIGEN_BUILD_BLAS=ON,-DEIGEN_BUILD_BLAS=OFF,libgfortran" | ||
| 27 | PACKAGECONFIG[lapack] = "-DEIGEN_BUILD_LAPACK=ON,-DEIGEN_BUILD_LAPACK=OFF,libgfortran" | ||
| 28 | |||
| 29 | EXTRA_OECMAKE += " \ | ||
| 30 | -DEIGEN_BUILD_TESTING=OFF \ | ||
| 31 | " | ||
| 32 | |||
| 25 | FILES:${PN}-dev += "${datadir}/eigen3/cmake" | 33 | FILES:${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 |
