diff mbox series

libeigen: upgrade 3.4.0 -> 3.4.1

Message ID 20251009113247.27517-1-peron.clem@gmail.com
State New
Headers show
Series libeigen: upgrade 3.4.0 -> 3.4.1 | expand

Commit Message

Clément Péron Oct. 9, 2025, 11:32 a.m. UTC
- Disable building BLAS, LAPACK and TESTING
- Remove patch that has been merged

Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
 ...ult-eigen_packet_wrapper-constructor.patch | 72 -------------------
 ...001-Remove-LGPL-Code-and-references.patch} | 28 +++-----
 .../{libeigen_3.4.0.bb => libeigen_3.4.1.bb}  | 11 ++-
 3 files changed, 17 insertions(+), 94 deletions(-)
 delete mode 100644 meta-oe/recipes-support/libeigen/libeigen/0001-Default-eigen_packet_wrapper-constructor.patch
 rename meta-oe/recipes-support/libeigen/libeigen/{0002-Remove-LGPL-Code-and-references.patch => 0001-Remove-LGPL-Code-and-references.patch} (98%)
 rename meta-oe/recipes-support/libeigen/{libeigen_3.4.0.bb => libeigen_3.4.1.bb} (84%)

Comments

Gyorgy Sarvari Oct. 9, 2025, 12:15 p.m. UTC | #1
On 10/9/25 13:32, Clément Péron via lists.openembedded.org wrote:
> - Disable building BLAS, LAPACK and TESTING

Why? Could they rather be PACKAGECONFIG options?

> - Remove patch that has been merged
>
> Signed-off-by: Clément Péron <peron.clem@gmail.com>
> ---
>  ...ult-eigen_packet_wrapper-constructor.patch | 72 -------------------
>  ...001-Remove-LGPL-Code-and-references.patch} | 28 +++-----
>  .../{libeigen_3.4.0.bb => libeigen_3.4.1.bb}  | 11 ++-
>  3 files changed, 17 insertions(+), 94 deletions(-)
>  delete mode 100644 meta-oe/recipes-support/libeigen/libeigen/0001-Default-eigen_packet_wrapper-constructor.patch
>  rename meta-oe/recipes-support/libeigen/libeigen/{0002-Remove-LGPL-Code-and-references.patch => 0001-Remove-LGPL-Code-and-references.patch} (98%)
>  rename meta-oe/recipes-support/libeigen/{libeigen_3.4.0.bb => libeigen_3.4.1.bb} (84%)
>
> 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 @@
> -From cb507309937958c632147de87e8f1231d6698847 Mon Sep 17 00:00:00 2001
> -From: Antonio Sanchez <cantonios@google.com>
> -Date: Tue, 14 Sep 2021 10:57:22 -0700
> -Subject: [PATCH] Default eigen_packet_wrapper constructor.
> -
> -This makes it trivial, allowing use of `memcpy`.
> -
> -Fixes #2326
> -
> -Upstream-Status: Backport [https://gitlab.com/libeigen/eigen/-/merge_requests/645/diffs?commit_id=cb507309937958c632147de87e8f1231d6698847]
> -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> -
> -* fixes build failures for arm targets with NEON enabled (e.g. -mfpu=neon-vfpv4)
> -  for recipes with -Werror enabled and gcc-11, e.g. fuse-core, robot-localization,
> -  prbt-ikfast-manipulator-plugin, rm-chassis-controllers in meta-ros1-noetic:
> -
> -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,
> -                 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,
> -                 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,
> -                 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,
> -                 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:
> -/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]':
> -/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]
> - 1671 |   memcpy(&res, from, sizeof(Packet4c));
> -      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> -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,
> -                 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,
> -                 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,
> -                 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,
> -                 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:
> -/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
> -  159 | struct eigen_packet_wrapper
> -      |        ^~~~~~~~~~~~~~~~~~~~
> -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,
> -                 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,
> -                 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,
> -                 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,
> -                 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:
> -/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]':
> -/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]
> - 1716 |   memcpy(&res, from, sizeof(Packet4c));
> -      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> -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,
> -                 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,
> -                 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,
> -                 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,
> -                 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:
> -/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
> -  159 | struct eigen_packet_wrapper
> -      |        ^~~~~~~~~~~~~~~~~~~~
> -cc1plus: all warnings being treated as errors
> -
> ----
> - Eigen/src/Core/GenericPacketMath.h | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/Eigen/src/Core/GenericPacketMath.h b/Eigen/src/Core/GenericPacketMath.h
> -index 8f8f64f15..72234288e 100644
> ---- a/Eigen/src/Core/GenericPacketMath.h
> -+++ b/Eigen/src/Core/GenericPacketMath.h
> -@@ -162,7 +162,7 @@ struct eigen_packet_wrapper
> - {
> -   EIGEN_ALWAYS_INLINE operator T&() { return m_val; }
> -   EIGEN_ALWAYS_INLINE operator const T&() const { return m_val; }
> --  EIGEN_ALWAYS_INLINE eigen_packet_wrapper() {}
> -+  EIGEN_ALWAYS_INLINE eigen_packet_wrapper() = default;
> -   EIGEN_ALWAYS_INLINE eigen_packet_wrapper(const T &v) : m_val(v) {}
> -   EIGEN_ALWAYS_INLINE eigen_packet_wrapper& operator=(const T &v) {
> -     m_val = v;
> --- 
> -2.17.1
> -
> 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
> similarity index 98%
> rename from meta-oe/recipes-support/libeigen/libeigen/0002-Remove-LGPL-Code-and-references.patch
> rename to 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 @@
> -From e63a6950dbebf4dd95e5c74c423c06fd65df5182 Mon Sep 17 00:00:00 2001
> +From 5e7b53a3268e7cdc81e358825a8c84f06289866c Mon Sep 17 00:00:00 2001
>  From: =?UTF-8?q?Antonio=20S=C3=A1nchez?= <cantonios@google.com>
>  Date: Wed, 8 Feb 2023 01:25:06 +0000
>  Subject: [PATCH] Remove LGPL Code and references.
> @@ -12,12 +12,11 @@ Upstream-Status: Backport [https://gitlab.com/libeigen/eigen/-/commit/e256ad1823
>   bench/tensors/eigen_sycl_bench.sh             |   1 -
>   bench/tensors/eigen_sycl_bench_contract.sh    |   2 +-
>   doc/PreprocessorDirectives.dox                |   3 -
> - test/CMakeLists.txt                           |   1 -
>   test/mpl2only.cpp                             |  24 -
>   unsupported/Eigen/IterativeSolvers            |   6 -
>   .../IterativeSolvers/ConstrainedConjGrad.h    | 187 -------
>   .../IterativeSolvers/IterationController.h    | 154 ------
> - 12 files changed, 4 insertions(+), 898 deletions(-)
> + 11 files changed, 4 insertions(+), 897 deletions(-)
>   delete mode 100644 COPYING.LGPL
>   delete mode 100644 Eigen/src/Core/util/NonMPL2.h
>   delete mode 100644 test/mpl2only.cpp
> @@ -567,7 +566,7 @@ index 1af67cf18..000000000
>  -#error Including non-MPL2 code in EIGEN_MPL2_ONLY mode
>  -#endif
>  diff --git a/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h b/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
> -index 7803fd817..1a5d7faeb 100644
> +index 5e632c4e2..8b6077601 100644
>  --- a/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
>  +++ b/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
>  @@ -24,8 +24,7 @@ namespace Eigen {
> @@ -606,7 +605,7 @@ index 73fd6c4a0..3ab0138a1 100644
>   ./tensor_contract_sycl_bench
>   
>  diff --git a/doc/PreprocessorDirectives.dox b/doc/PreprocessorDirectives.dox
> -index 0f545b086..b7d59ccbc 100644
> +index eda0d1961..2b5cb1b92 100644
>  --- a/doc/PreprocessorDirectives.dox
>  +++ b/doc/PreprocessorDirectives.dox
>  @@ -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
>   
>   \section TopicPreprocessorDirectivesPerformance Alignment, vectorization and performance tweaking
>   
> -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
> -index 5136f82aa..9f557743a 100644
> ---- a/test/CMakeLists.txt
> -+++ b/test/CMakeLists.txt
> -@@ -277,7 +277,6 @@ ei_add_test(special_numbers)
> - ei_add_test(rvalue_types)
> - ei_add_test(dense_storage)
> - ei_add_test(ctorleak)
> --ei_add_test(mpl2only)
> - ei_add_test(inplace_decomposition)
> - ei_add_test(half_float)
> - ei_add_test(bfloat16_float)
>  diff --git a/test/mpl2only.cpp b/test/mpl2only.cpp
>  deleted file mode 100644
>  index 296350d08..000000000
> @@ -662,11 +649,11 @@ index 296350d08..000000000
>  -  return 0;
>  -}
>  diff --git a/unsupported/Eigen/IterativeSolvers b/unsupported/Eigen/IterativeSolvers
> -index a3f58d676..f045fb607 100644
> +index b53f10937..3ac64e9f8 100644
>  --- a/unsupported/Eigen/IterativeSolvers
>  +++ b/unsupported/Eigen/IterativeSolvers
>  @@ -19,7 +19,6 @@
> -   * \defgroup IterativeLinearSolvers_Module Iterative solvers module
> +   * \defgroup IterativeLinearSolvers_Module IterativeLinearSolvers module
>     * This module aims to provide various iterative linear and non linear solver algorithms.
>     * It currently provides:
>  -  *  - a constrained conjugate gradient
> @@ -1038,3 +1025,6 @@ index a116e09e2..000000000
>  -} // end namespace Eigen
>  -
>  -#endif // EIGEN_ITERATION_CONTROLLER_H
> +-- 
> +2.48.1
> +
> diff --git a/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb b/meta-oe/recipes-support/libeigen/libeigen_3.4.1.bb
> similarity index 84%
> rename from meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb
> rename to meta-oe/recipes-support/libeigen/libeigen_3.4.1.bb
> index f5f874941a..520244ec7a 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,20 @@ LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad \
>  "
>  
>  SRC_URI = "git://gitlab.com/libeigen/eigen.git;protocol=http;branch=3.4 \
> -    file://0001-Default-eigen_packet_wrapper-constructor.patch \
> -    file://0002-Remove-LGPL-Code-and-references.patch \
> +    file://0001-Remove-LGPL-Code-and-references.patch \
>  "
>  
> -SRCREV = "3147391d946bb4b6c68edd901f2add6ac1f31f8c"
> +SRCREV = "d71c30c47858effcbd39967097a2d99ee48db464"
>  
>  
>  inherit cmake
>  
> +EXTRA_OECMAKE += " \
> +    -DEIGEN_BUILD_BLAS=OFF \
> +    -DEIGEN_BUILD_LAPACK=OFF \
> +    -DEIGEN_BUILD_TESTING=OFF \
> +"
> +
>  FILES:${PN}-dev += "${datadir}/eigen3/cmake"
>  
>  # ${PN} is empty so we need to tweak -dev and -dbg package dependencies
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#120427): https://lists.openembedded.org/g/openembedded-devel/message/120427
> Mute This Topic: https://lists.openembedded.org/mt/115669722/6084445
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [skandigraun@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Clément Péron Oct. 9, 2025, 12:22 p.m. UTC | #2
On Thu, 9 Oct 2025 at 14:15, Gyorgy Sarvari <skandigraun@gmail.com> wrote:
>
> On 10/9/25 13:32, Clément Péron via lists.openembedded.org wrote:
> > - Disable building BLAS, LAPACK and TESTING
>
> Why? Could they rather be PACKAGECONFIG options?

They require a Fortran compiler, which if I leave enabled, triggers a
CMake FatalError at the moment.
https://gitlab.com/libeigen/eigen/-/blob/3.4.1/CMakeLists.txt?ref_type=tags#L62


>
> > - Remove patch that has been merged
> >
> > Signed-off-by: Clément Péron <peron.clem@gmail.com>
> > ---
> >  ...ult-eigen_packet_wrapper-constructor.patch | 72 -------------------
> >  ...001-Remove-LGPL-Code-and-references.patch} | 28 +++-----
> >  .../{libeigen_3.4.0.bb => libeigen_3.4.1.bb}  | 11 ++-
> >  3 files changed, 17 insertions(+), 94 deletions(-)
> >  delete mode 100644 meta-oe/recipes-support/libeigen/libeigen/0001-Default-eigen_packet_wrapper-constructor.patch
> >  rename meta-oe/recipes-support/libeigen/libeigen/{0002-Remove-LGPL-Code-and-references.patch => 0001-Remove-LGPL-Code-and-references.patch} (98%)
> >  rename meta-oe/recipes-support/libeigen/{libeigen_3.4.0.bb => libeigen_3.4.1.bb} (84%)
> >
> > 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 @@
> > -From cb507309937958c632147de87e8f1231d6698847 Mon Sep 17 00:00:00 2001
> > -From: Antonio Sanchez <cantonios@google.com>
> > -Date: Tue, 14 Sep 2021 10:57:22 -0700
> > -Subject: [PATCH] Default eigen_packet_wrapper constructor.
> > -
> > -This makes it trivial, allowing use of `memcpy`.
> > -
> > -Fixes #2326
> > -
> > -Upstream-Status: Backport [https://gitlab.com/libeigen/eigen/-/merge_requests/645/diffs?commit_id=cb507309937958c632147de87e8f1231d6698847]
> > -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> > -
> > -* fixes build failures for arm targets with NEON enabled (e.g. -mfpu=neon-vfpv4)
> > -  for recipes with -Werror enabled and gcc-11, e.g. fuse-core, robot-localization,
> > -  prbt-ikfast-manipulator-plugin, rm-chassis-controllers in meta-ros1-noetic:
> > -
> > -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,
> > -                 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,
> > -                 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,
> > -                 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,
> > -                 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:
> > -/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]':
> > -/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]
> > - 1671 |   memcpy(&res, from, sizeof(Packet4c));
> > -      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > -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,
> > -                 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,
> > -                 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,
> > -                 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,
> > -                 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:
> > -/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
> > -  159 | struct eigen_packet_wrapper
> > -      |        ^~~~~~~~~~~~~~~~~~~~
> > -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,
> > -                 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,
> > -                 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,
> > -                 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,
> > -                 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:
> > -/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]':
> > -/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]
> > - 1716 |   memcpy(&res, from, sizeof(Packet4c));
> > -      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > -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,
> > -                 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,
> > -                 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,
> > -                 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,
> > -                 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:
> > -/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
> > -  159 | struct eigen_packet_wrapper
> > -      |        ^~~~~~~~~~~~~~~~~~~~
> > -cc1plus: all warnings being treated as errors
> > -
> > ----
> > - Eigen/src/Core/GenericPacketMath.h | 2 +-
> > - 1 file changed, 1 insertion(+), 1 deletion(-)
> > -
> > -diff --git a/Eigen/src/Core/GenericPacketMath.h b/Eigen/src/Core/GenericPacketMath.h
> > -index 8f8f64f15..72234288e 100644
> > ---- a/Eigen/src/Core/GenericPacketMath.h
> > -+++ b/Eigen/src/Core/GenericPacketMath.h
> > -@@ -162,7 +162,7 @@ struct eigen_packet_wrapper
> > - {
> > -   EIGEN_ALWAYS_INLINE operator T&() { return m_val; }
> > -   EIGEN_ALWAYS_INLINE operator const T&() const { return m_val; }
> > --  EIGEN_ALWAYS_INLINE eigen_packet_wrapper() {}
> > -+  EIGEN_ALWAYS_INLINE eigen_packet_wrapper() = default;
> > -   EIGEN_ALWAYS_INLINE eigen_packet_wrapper(const T &v) : m_val(v) {}
> > -   EIGEN_ALWAYS_INLINE eigen_packet_wrapper& operator=(const T &v) {
> > -     m_val = v;
> > ---
> > -2.17.1
> > -
> > 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
> > similarity index 98%
> > rename from meta-oe/recipes-support/libeigen/libeigen/0002-Remove-LGPL-Code-and-references.patch
> > rename to 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 @@
> > -From e63a6950dbebf4dd95e5c74c423c06fd65df5182 Mon Sep 17 00:00:00 2001
> > +From 5e7b53a3268e7cdc81e358825a8c84f06289866c Mon Sep 17 00:00:00 2001
> >  From: =?UTF-8?q?Antonio=20S=C3=A1nchez?= <cantonios@google.com>
> >  Date: Wed, 8 Feb 2023 01:25:06 +0000
> >  Subject: [PATCH] Remove LGPL Code and references.
> > @@ -12,12 +12,11 @@ Upstream-Status: Backport [https://gitlab.com/libeigen/eigen/-/commit/e256ad1823
> >   bench/tensors/eigen_sycl_bench.sh             |   1 -
> >   bench/tensors/eigen_sycl_bench_contract.sh    |   2 +-
> >   doc/PreprocessorDirectives.dox                |   3 -
> > - test/CMakeLists.txt                           |   1 -
> >   test/mpl2only.cpp                             |  24 -
> >   unsupported/Eigen/IterativeSolvers            |   6 -
> >   .../IterativeSolvers/ConstrainedConjGrad.h    | 187 -------
> >   .../IterativeSolvers/IterationController.h    | 154 ------
> > - 12 files changed, 4 insertions(+), 898 deletions(-)
> > + 11 files changed, 4 insertions(+), 897 deletions(-)
> >   delete mode 100644 COPYING.LGPL
> >   delete mode 100644 Eigen/src/Core/util/NonMPL2.h
> >   delete mode 100644 test/mpl2only.cpp
> > @@ -567,7 +566,7 @@ index 1af67cf18..000000000
> >  -#error Including non-MPL2 code in EIGEN_MPL2_ONLY mode
> >  -#endif
> >  diff --git a/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h b/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
> > -index 7803fd817..1a5d7faeb 100644
> > +index 5e632c4e2..8b6077601 100644
> >  --- a/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
> >  +++ b/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
> >  @@ -24,8 +24,7 @@ namespace Eigen {
> > @@ -606,7 +605,7 @@ index 73fd6c4a0..3ab0138a1 100644
> >   ./tensor_contract_sycl_bench
> >
> >  diff --git a/doc/PreprocessorDirectives.dox b/doc/PreprocessorDirectives.dox
> > -index 0f545b086..b7d59ccbc 100644
> > +index eda0d1961..2b5cb1b92 100644
> >  --- a/doc/PreprocessorDirectives.dox
> >  +++ b/doc/PreprocessorDirectives.dox
> >  @@ -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
> >
> >   \section TopicPreprocessorDirectivesPerformance Alignment, vectorization and performance tweaking
> >
> > -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
> > -index 5136f82aa..9f557743a 100644
> > ---- a/test/CMakeLists.txt
> > -+++ b/test/CMakeLists.txt
> > -@@ -277,7 +277,6 @@ ei_add_test(special_numbers)
> > - ei_add_test(rvalue_types)
> > - ei_add_test(dense_storage)
> > - ei_add_test(ctorleak)
> > --ei_add_test(mpl2only)
> > - ei_add_test(inplace_decomposition)
> > - ei_add_test(half_float)
> > - ei_add_test(bfloat16_float)
> >  diff --git a/test/mpl2only.cpp b/test/mpl2only.cpp
> >  deleted file mode 100644
> >  index 296350d08..000000000
> > @@ -662,11 +649,11 @@ index 296350d08..000000000
> >  -  return 0;
> >  -}
> >  diff --git a/unsupported/Eigen/IterativeSolvers b/unsupported/Eigen/IterativeSolvers
> > -index a3f58d676..f045fb607 100644
> > +index b53f10937..3ac64e9f8 100644
> >  --- a/unsupported/Eigen/IterativeSolvers
> >  +++ b/unsupported/Eigen/IterativeSolvers
> >  @@ -19,7 +19,6 @@
> > -   * \defgroup IterativeLinearSolvers_Module Iterative solvers module
> > +   * \defgroup IterativeLinearSolvers_Module IterativeLinearSolvers module
> >     * This module aims to provide various iterative linear and non linear solver algorithms.
> >     * It currently provides:
> >  -  *  - a constrained conjugate gradient
> > @@ -1038,3 +1025,6 @@ index a116e09e2..000000000
> >  -} // end namespace Eigen
> >  -
> >  -#endif // EIGEN_ITERATION_CONTROLLER_H
> > +--
> > +2.48.1
> > +
> > diff --git a/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb b/meta-oe/recipes-support/libeigen/libeigen_3.4.1.bb
> > similarity index 84%
> > rename from meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb
> > rename to meta-oe/recipes-support/libeigen/libeigen_3.4.1.bb
> > index f5f874941a..520244ec7a 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,20 @@ LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad \
> >  "
> >
> >  SRC_URI = "git://gitlab.com/libeigen/eigen.git;protocol=http;branch=3.4 \
> > -    file://0001-Default-eigen_packet_wrapper-constructor.patch \
> > -    file://0002-Remove-LGPL-Code-and-references.patch \
> > +    file://0001-Remove-LGPL-Code-and-references.patch \
> >  "
> >
> > -SRCREV = "3147391d946bb4b6c68edd901f2add6ac1f31f8c"
> > +SRCREV = "d71c30c47858effcbd39967097a2d99ee48db464"
> >
> >
> >  inherit cmake
> >
> > +EXTRA_OECMAKE += " \
> > +    -DEIGEN_BUILD_BLAS=OFF \
> > +    -DEIGEN_BUILD_LAPACK=OFF \
> > +    -DEIGEN_BUILD_TESTING=OFF \
> > +"
> > +
> >  FILES:${PN}-dev += "${datadir}/eigen3/cmake"
> >
> >  # ${PN} is empty so we need to tweak -dev and -dbg package dependencies
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#120427): https://lists.openembedded.org/g/openembedded-devel/message/120427
> > Mute This Topic: https://lists.openembedded.org/mt/115669722/6084445
> > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [skandigraun@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
>
Gyorgy Sarvari Oct. 9, 2025, 12:34 p.m. UTC | #3
On 10/9/25 14:22, Clément Péron wrote:
> On Thu, 9 Oct 2025 at 14:15, Gyorgy Sarvari <skandigraun@gmail.com> wrote:
>> On 10/9/25 13:32, Clément Péron via lists.openembedded.org wrote:
>>> - Disable building BLAS, LAPACK and TESTING
>> Why? Could they rather be PACKAGECONFIG options?
> They require a Fortran compiler, which if I leave enabled, triggers a
> CMake FatalError at the moment.
> https://gitlab.com/libeigen/eigen/-/blob/3.4.1/CMakeLists.txt?ref_type=tags#L62
>

Does it fail because it can't find a Fortran compiler? If yes, then that
should be a non-issue: oe-core comes with a Fortran compiler (though
it's not exactly straightforward to enable it).
You can see how this optional Fortran requirement handled in other
recipes, like the PACKAGECONFIG of mpich[1].

Or is this an upstream issue?

[1]:
https://git.openembedded.org/meta-openembedded/tree/meta-oe/recipes-devtools/mpich/mpich_4.3.1.bb#n25

>>> - Remove patch that has been merged
>>>
>>> Signed-off-by: Clément Péron <peron.clem@gmail.com>
>>> ---
>>>  ...ult-eigen_packet_wrapper-constructor.patch | 72 -------------------
>>>  ...001-Remove-LGPL-Code-and-references.patch} | 28 +++-----
>>>  .../{libeigen_3.4.0.bb => libeigen_3.4.1.bb}  | 11 ++-
>>>  3 files changed, 17 insertions(+), 94 deletions(-)
>>>  delete mode 100644 meta-oe/recipes-support/libeigen/libeigen/0001-Default-eigen_packet_wrapper-constructor.patch
>>>  rename meta-oe/recipes-support/libeigen/libeigen/{0002-Remove-LGPL-Code-and-references.patch => 0001-Remove-LGPL-Code-and-references.patch} (98%)
>>>  rename meta-oe/recipes-support/libeigen/{libeigen_3.4.0.bb => libeigen_3.4.1.bb} (84%)
>>>
>>> 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 @@
>>> -From cb507309937958c632147de87e8f1231d6698847 Mon Sep 17 00:00:00 2001
>>> -From: Antonio Sanchez <cantonios@google.com>
>>> -Date: Tue, 14 Sep 2021 10:57:22 -0700
>>> -Subject: [PATCH] Default eigen_packet_wrapper constructor.
>>> -
>>> -This makes it trivial, allowing use of `memcpy`.
>>> -
>>> -Fixes #2326
>>> -
>>> -Upstream-Status: Backport [https://gitlab.com/libeigen/eigen/-/merge_requests/645/diffs?commit_id=cb507309937958c632147de87e8f1231d6698847]
>>> -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
>>> -
>>> -* fixes build failures for arm targets with NEON enabled (e.g. -mfpu=neon-vfpv4)
>>> -  for recipes with -Werror enabled and gcc-11, e.g. fuse-core, robot-localization,
>>> -  prbt-ikfast-manipulator-plugin, rm-chassis-controllers in meta-ros1-noetic:
>>> -
>>> -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,
>>> -                 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,
>>> -                 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,
>>> -                 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,
>>> -                 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:
>>> -/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]':
>>> -/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]
>>> - 1671 |   memcpy(&res, from, sizeof(Packet4c));
>>> -      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> -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,
>>> -                 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,
>>> -                 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,
>>> -                 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,
>>> -                 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:
>>> -/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
>>> -  159 | struct eigen_packet_wrapper
>>> -      |        ^~~~~~~~~~~~~~~~~~~~
>>> -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,
>>> -                 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,
>>> -                 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,
>>> -                 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,
>>> -                 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:
>>> -/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]':
>>> -/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]
>>> - 1716 |   memcpy(&res, from, sizeof(Packet4c));
>>> -      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> -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,
>>> -                 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,
>>> -                 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,
>>> -                 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,
>>> -                 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:
>>> -/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
>>> -  159 | struct eigen_packet_wrapper
>>> -      |        ^~~~~~~~~~~~~~~~~~~~
>>> -cc1plus: all warnings being treated as errors
>>> -
>>> ----
>>> - Eigen/src/Core/GenericPacketMath.h | 2 +-
>>> - 1 file changed, 1 insertion(+), 1 deletion(-)
>>> -
>>> -diff --git a/Eigen/src/Core/GenericPacketMath.h b/Eigen/src/Core/GenericPacketMath.h
>>> -index 8f8f64f15..72234288e 100644
>>> ---- a/Eigen/src/Core/GenericPacketMath.h
>>> -+++ b/Eigen/src/Core/GenericPacketMath.h
>>> -@@ -162,7 +162,7 @@ struct eigen_packet_wrapper
>>> - {
>>> -   EIGEN_ALWAYS_INLINE operator T&() { return m_val; }
>>> -   EIGEN_ALWAYS_INLINE operator const T&() const { return m_val; }
>>> --  EIGEN_ALWAYS_INLINE eigen_packet_wrapper() {}
>>> -+  EIGEN_ALWAYS_INLINE eigen_packet_wrapper() = default;
>>> -   EIGEN_ALWAYS_INLINE eigen_packet_wrapper(const T &v) : m_val(v) {}
>>> -   EIGEN_ALWAYS_INLINE eigen_packet_wrapper& operator=(const T &v) {
>>> -     m_val = v;
>>> ---
>>> -2.17.1
>>> -
>>> 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
>>> similarity index 98%
>>> rename from meta-oe/recipes-support/libeigen/libeigen/0002-Remove-LGPL-Code-and-references.patch
>>> rename to 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 @@
>>> -From e63a6950dbebf4dd95e5c74c423c06fd65df5182 Mon Sep 17 00:00:00 2001
>>> +From 5e7b53a3268e7cdc81e358825a8c84f06289866c Mon Sep 17 00:00:00 2001
>>>  From: =?UTF-8?q?Antonio=20S=C3=A1nchez?= <cantonios@google.com>
>>>  Date: Wed, 8 Feb 2023 01:25:06 +0000
>>>  Subject: [PATCH] Remove LGPL Code and references.
>>> @@ -12,12 +12,11 @@ Upstream-Status: Backport [https://gitlab.com/libeigen/eigen/-/commit/e256ad1823
>>>   bench/tensors/eigen_sycl_bench.sh             |   1 -
>>>   bench/tensors/eigen_sycl_bench_contract.sh    |   2 +-
>>>   doc/PreprocessorDirectives.dox                |   3 -
>>> - test/CMakeLists.txt                           |   1 -
>>>   test/mpl2only.cpp                             |  24 -
>>>   unsupported/Eigen/IterativeSolvers            |   6 -
>>>   .../IterativeSolvers/ConstrainedConjGrad.h    | 187 -------
>>>   .../IterativeSolvers/IterationController.h    | 154 ------
>>> - 12 files changed, 4 insertions(+), 898 deletions(-)
>>> + 11 files changed, 4 insertions(+), 897 deletions(-)
>>>   delete mode 100644 COPYING.LGPL
>>>   delete mode 100644 Eigen/src/Core/util/NonMPL2.h
>>>   delete mode 100644 test/mpl2only.cpp
>>> @@ -567,7 +566,7 @@ index 1af67cf18..000000000
>>>  -#error Including non-MPL2 code in EIGEN_MPL2_ONLY mode
>>>  -#endif
>>>  diff --git a/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h b/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
>>> -index 7803fd817..1a5d7faeb 100644
>>> +index 5e632c4e2..8b6077601 100644
>>>  --- a/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
>>>  +++ b/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
>>>  @@ -24,8 +24,7 @@ namespace Eigen {
>>> @@ -606,7 +605,7 @@ index 73fd6c4a0..3ab0138a1 100644
>>>   ./tensor_contract_sycl_bench
>>>
>>>  diff --git a/doc/PreprocessorDirectives.dox b/doc/PreprocessorDirectives.dox
>>> -index 0f545b086..b7d59ccbc 100644
>>> +index eda0d1961..2b5cb1b92 100644
>>>  --- a/doc/PreprocessorDirectives.dox
>>>  +++ b/doc/PreprocessorDirectives.dox
>>>  @@ -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
>>>
>>>   \section TopicPreprocessorDirectivesPerformance Alignment, vectorization and performance tweaking
>>>
>>> -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
>>> -index 5136f82aa..9f557743a 100644
>>> ---- a/test/CMakeLists.txt
>>> -+++ b/test/CMakeLists.txt
>>> -@@ -277,7 +277,6 @@ ei_add_test(special_numbers)
>>> - ei_add_test(rvalue_types)
>>> - ei_add_test(dense_storage)
>>> - ei_add_test(ctorleak)
>>> --ei_add_test(mpl2only)
>>> - ei_add_test(inplace_decomposition)
>>> - ei_add_test(half_float)
>>> - ei_add_test(bfloat16_float)
>>>  diff --git a/test/mpl2only.cpp b/test/mpl2only.cpp
>>>  deleted file mode 100644
>>>  index 296350d08..000000000
>>> @@ -662,11 +649,11 @@ index 296350d08..000000000
>>>  -  return 0;
>>>  -}
>>>  diff --git a/unsupported/Eigen/IterativeSolvers b/unsupported/Eigen/IterativeSolvers
>>> -index a3f58d676..f045fb607 100644
>>> +index b53f10937..3ac64e9f8 100644
>>>  --- a/unsupported/Eigen/IterativeSolvers
>>>  +++ b/unsupported/Eigen/IterativeSolvers
>>>  @@ -19,7 +19,6 @@
>>> -   * \defgroup IterativeLinearSolvers_Module Iterative solvers module
>>> +   * \defgroup IterativeLinearSolvers_Module IterativeLinearSolvers module
>>>     * This module aims to provide various iterative linear and non linear solver algorithms.
>>>     * It currently provides:
>>>  -  *  - a constrained conjugate gradient
>>> @@ -1038,3 +1025,6 @@ index a116e09e2..000000000
>>>  -} // end namespace Eigen
>>>  -
>>>  -#endif // EIGEN_ITERATION_CONTROLLER_H
>>> +--
>>> +2.48.1
>>> +
>>> diff --git a/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb b/meta-oe/recipes-support/libeigen/libeigen_3.4.1.bb
>>> similarity index 84%
>>> rename from meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb
>>> rename to meta-oe/recipes-support/libeigen/libeigen_3.4.1.bb
>>> index f5f874941a..520244ec7a 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,20 @@ LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad \
>>>  "
>>>
>>>  SRC_URI = "git://gitlab.com/libeigen/eigen.git;protocol=http;branch=3.4 \
>>> -    file://0001-Default-eigen_packet_wrapper-constructor.patch \
>>> -    file://0002-Remove-LGPL-Code-and-references.patch \
>>> +    file://0001-Remove-LGPL-Code-and-references.patch \
>>>  "
>>>
>>> -SRCREV = "3147391d946bb4b6c68edd901f2add6ac1f31f8c"
>>> +SRCREV = "d71c30c47858effcbd39967097a2d99ee48db464"
>>>
>>>
>>>  inherit cmake
>>>
>>> +EXTRA_OECMAKE += " \
>>> +    -DEIGEN_BUILD_BLAS=OFF \
>>> +    -DEIGEN_BUILD_LAPACK=OFF \
>>> +    -DEIGEN_BUILD_TESTING=OFF \
>>> +"
>>> +
>>>  FILES:${PN}-dev += "${datadir}/eigen3/cmake"
>>>
>>>  # ${PN} is empty so we need to tweak -dev and -dbg package dependencies
>>>
>>> -=-=-=-=-=-=-=-=-=-=-=-
>>> Links: You receive all messages sent to this group.
>>> View/Reply Online (#120427): https://lists.openembedded.org/g/openembedded-devel/message/120427
>>> Mute This Topic: https://lists.openembedded.org/mt/115669722/6084445
>>> Group Owner: openembedded-devel+owner@lists.openembedded.org
>>> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [skandigraun@gmail.com]
>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>
Clément Péron Oct. 9, 2025, 12:45 p.m. UTC | #4
On Thu, 9 Oct 2025 at 14:35, Gyorgy Sarvari <skandigraun@gmail.com> wrote:
>
> On 10/9/25 14:22, Clément Péron wrote:
> > On Thu, 9 Oct 2025 at 14:15, Gyorgy Sarvari <skandigraun@gmail.com> wrote:
> >> On 10/9/25 13:32, Clément Péron via lists.openembedded.org wrote:
> >>> - Disable building BLAS, LAPACK and TESTING
> >> Why? Could they rather be PACKAGECONFIG options?
> > They require a Fortran compiler, which if I leave enabled, triggers a
> > CMake FatalError at the moment.
> > https://gitlab.com/libeigen/eigen/-/blob/3.4.1/CMakeLists.txt?ref_type=tags#L62
> >
>
> Does it fail because it can't find a Fortran compiler? If yes, then that
> should be a non-issue: oe-core comes with a Fortran compiler (though
> it's not exactly straightforward to enable it).
> You can see how this optional Fortran requirement handled in other
> recipes, like the PACKAGECONFIG of mpich[1].
>
> Or is this an upstream issue?

It can't find a Fortran compiler but in Eigen 3.4.0 it was silently
disabled, now it generates a FATAL_ERROR

I will send a v2 with the package config for Fortran

Regards,

>
> [1]:
> https://git.openembedded.org/meta-openembedded/tree/meta-oe/recipes-devtools/mpich/mpich_4.3.1.bb#n25
>
> >>> - Remove patch that has been merged
> >>>
> >>> Signed-off-by: Clément Péron <peron.clem@gmail.com>
> >>> ---
> >>>  ...ult-eigen_packet_wrapper-constructor.patch | 72 -------------------
> >>>  ...001-Remove-LGPL-Code-and-references.patch} | 28 +++-----
> >>>  .../{libeigen_3.4.0.bb => libeigen_3.4.1.bb}  | 11 ++-
> >>>  3 files changed, 17 insertions(+), 94 deletions(-)
> >>>  delete mode 100644 meta-oe/recipes-support/libeigen/libeigen/0001-Default-eigen_packet_wrapper-constructor.patch
> >>>  rename meta-oe/recipes-support/libeigen/libeigen/{0002-Remove-LGPL-Code-and-references.patch => 0001-Remove-LGPL-Code-and-references.patch} (98%)
> >>>  rename meta-oe/recipes-support/libeigen/{libeigen_3.4.0.bb => libeigen_3.4.1.bb} (84%)
> >>>
> >>> 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 @@
> >>> -From cb507309937958c632147de87e8f1231d6698847 Mon Sep 17 00:00:00 2001
> >>> -From: Antonio Sanchez <cantonios@google.com>
> >>> -Date: Tue, 14 Sep 2021 10:57:22 -0700
> >>> -Subject: [PATCH] Default eigen_packet_wrapper constructor.
> >>> -
> >>> -This makes it trivial, allowing use of `memcpy`.
> >>> -
> >>> -Fixes #2326
> >>> -
> >>> -Upstream-Status: Backport [https://gitlab.com/libeigen/eigen/-/merge_requests/645/diffs?commit_id=cb507309937958c632147de87e8f1231d6698847]
> >>> -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> >>> -
> >>> -* fixes build failures for arm targets with NEON enabled (e.g. -mfpu=neon-vfpv4)
> >>> -  for recipes with -Werror enabled and gcc-11, e.g. fuse-core, robot-localization,
> >>> -  prbt-ikfast-manipulator-plugin, rm-chassis-controllers in meta-ros1-noetic:
> >>> -
> >>> -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,
> >>> -                 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,
> >>> -                 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,
> >>> -                 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,
> >>> -                 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:
> >>> -/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]':
> >>> -/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]
> >>> - 1671 |   memcpy(&res, from, sizeof(Packet4c));
> >>> -      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >>> -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,
> >>> -                 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,
> >>> -                 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,
> >>> -                 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,
> >>> -                 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:
> >>> -/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
> >>> -  159 | struct eigen_packet_wrapper
> >>> -      |        ^~~~~~~~~~~~~~~~~~~~
> >>> -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,
> >>> -                 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,
> >>> -                 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,
> >>> -                 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,
> >>> -                 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:
> >>> -/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]':
> >>> -/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]
> >>> - 1716 |   memcpy(&res, from, sizeof(Packet4c));
> >>> -      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >>> -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,
> >>> -                 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,
> >>> -                 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,
> >>> -                 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,
> >>> -                 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:
> >>> -/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
> >>> -  159 | struct eigen_packet_wrapper
> >>> -      |        ^~~~~~~~~~~~~~~~~~~~
> >>> -cc1plus: all warnings being treated as errors
> >>> -
> >>> ----
> >>> - Eigen/src/Core/GenericPacketMath.h | 2 +-
> >>> - 1 file changed, 1 insertion(+), 1 deletion(-)
> >>> -
> >>> -diff --git a/Eigen/src/Core/GenericPacketMath.h b/Eigen/src/Core/GenericPacketMath.h
> >>> -index 8f8f64f15..72234288e 100644
> >>> ---- a/Eigen/src/Core/GenericPacketMath.h
> >>> -+++ b/Eigen/src/Core/GenericPacketMath.h
> >>> -@@ -162,7 +162,7 @@ struct eigen_packet_wrapper
> >>> - {
> >>> -   EIGEN_ALWAYS_INLINE operator T&() { return m_val; }
> >>> -   EIGEN_ALWAYS_INLINE operator const T&() const { return m_val; }
> >>> --  EIGEN_ALWAYS_INLINE eigen_packet_wrapper() {}
> >>> -+  EIGEN_ALWAYS_INLINE eigen_packet_wrapper() = default;
> >>> -   EIGEN_ALWAYS_INLINE eigen_packet_wrapper(const T &v) : m_val(v) {}
> >>> -   EIGEN_ALWAYS_INLINE eigen_packet_wrapper& operator=(const T &v) {
> >>> -     m_val = v;
> >>> ---
> >>> -2.17.1
> >>> -
> >>> 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
> >>> similarity index 98%
> >>> rename from meta-oe/recipes-support/libeigen/libeigen/0002-Remove-LGPL-Code-and-references.patch
> >>> rename to 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 @@
> >>> -From e63a6950dbebf4dd95e5c74c423c06fd65df5182 Mon Sep 17 00:00:00 2001
> >>> +From 5e7b53a3268e7cdc81e358825a8c84f06289866c Mon Sep 17 00:00:00 2001
> >>>  From: =?UTF-8?q?Antonio=20S=C3=A1nchez?= <cantonios@google.com>
> >>>  Date: Wed, 8 Feb 2023 01:25:06 +0000
> >>>  Subject: [PATCH] Remove LGPL Code and references.
> >>> @@ -12,12 +12,11 @@ Upstream-Status: Backport [https://gitlab.com/libeigen/eigen/-/commit/e256ad1823
> >>>   bench/tensors/eigen_sycl_bench.sh             |   1 -
> >>>   bench/tensors/eigen_sycl_bench_contract.sh    |   2 +-
> >>>   doc/PreprocessorDirectives.dox                |   3 -
> >>> - test/CMakeLists.txt                           |   1 -
> >>>   test/mpl2only.cpp                             |  24 -
> >>>   unsupported/Eigen/IterativeSolvers            |   6 -
> >>>   .../IterativeSolvers/ConstrainedConjGrad.h    | 187 -------
> >>>   .../IterativeSolvers/IterationController.h    | 154 ------
> >>> - 12 files changed, 4 insertions(+), 898 deletions(-)
> >>> + 11 files changed, 4 insertions(+), 897 deletions(-)
> >>>   delete mode 100644 COPYING.LGPL
> >>>   delete mode 100644 Eigen/src/Core/util/NonMPL2.h
> >>>   delete mode 100644 test/mpl2only.cpp
> >>> @@ -567,7 +566,7 @@ index 1af67cf18..000000000
> >>>  -#error Including non-MPL2 code in EIGEN_MPL2_ONLY mode
> >>>  -#endif
> >>>  diff --git a/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h b/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
> >>> -index 7803fd817..1a5d7faeb 100644
> >>> +index 5e632c4e2..8b6077601 100644
> >>>  --- a/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
> >>>  +++ b/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
> >>>  @@ -24,8 +24,7 @@ namespace Eigen {
> >>> @@ -606,7 +605,7 @@ index 73fd6c4a0..3ab0138a1 100644
> >>>   ./tensor_contract_sycl_bench
> >>>
> >>>  diff --git a/doc/PreprocessorDirectives.dox b/doc/PreprocessorDirectives.dox
> >>> -index 0f545b086..b7d59ccbc 100644
> >>> +index eda0d1961..2b5cb1b92 100644
> >>>  --- a/doc/PreprocessorDirectives.dox
> >>>  +++ b/doc/PreprocessorDirectives.dox
> >>>  @@ -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
> >>>
> >>>   \section TopicPreprocessorDirectivesPerformance Alignment, vectorization and performance tweaking
> >>>
> >>> -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
> >>> -index 5136f82aa..9f557743a 100644
> >>> ---- a/test/CMakeLists.txt
> >>> -+++ b/test/CMakeLists.txt
> >>> -@@ -277,7 +277,6 @@ ei_add_test(special_numbers)
> >>> - ei_add_test(rvalue_types)
> >>> - ei_add_test(dense_storage)
> >>> - ei_add_test(ctorleak)
> >>> --ei_add_test(mpl2only)
> >>> - ei_add_test(inplace_decomposition)
> >>> - ei_add_test(half_float)
> >>> - ei_add_test(bfloat16_float)
> >>>  diff --git a/test/mpl2only.cpp b/test/mpl2only.cpp
> >>>  deleted file mode 100644
> >>>  index 296350d08..000000000
> >>> @@ -662,11 +649,11 @@ index 296350d08..000000000
> >>>  -  return 0;
> >>>  -}
> >>>  diff --git a/unsupported/Eigen/IterativeSolvers b/unsupported/Eigen/IterativeSolvers
> >>> -index a3f58d676..f045fb607 100644
> >>> +index b53f10937..3ac64e9f8 100644
> >>>  --- a/unsupported/Eigen/IterativeSolvers
> >>>  +++ b/unsupported/Eigen/IterativeSolvers
> >>>  @@ -19,7 +19,6 @@
> >>> -   * \defgroup IterativeLinearSolvers_Module Iterative solvers module
> >>> +   * \defgroup IterativeLinearSolvers_Module IterativeLinearSolvers module
> >>>     * This module aims to provide various iterative linear and non linear solver algorithms.
> >>>     * It currently provides:
> >>>  -  *  - a constrained conjugate gradient
> >>> @@ -1038,3 +1025,6 @@ index a116e09e2..000000000
> >>>  -} // end namespace Eigen
> >>>  -
> >>>  -#endif // EIGEN_ITERATION_CONTROLLER_H
> >>> +--
> >>> +2.48.1
> >>> +
> >>> diff --git a/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb b/meta-oe/recipes-support/libeigen/libeigen_3.4.1.bb
> >>> similarity index 84%
> >>> rename from meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb
> >>> rename to meta-oe/recipes-support/libeigen/libeigen_3.4.1.bb
> >>> index f5f874941a..520244ec7a 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,20 @@ LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad \
> >>>  "
> >>>
> >>>  SRC_URI = "git://gitlab.com/libeigen/eigen.git;protocol=http;branch=3.4 \
> >>> -    file://0001-Default-eigen_packet_wrapper-constructor.patch \
> >>> -    file://0002-Remove-LGPL-Code-and-references.patch \
> >>> +    file://0001-Remove-LGPL-Code-and-references.patch \
> >>>  "
> >>>
> >>> -SRCREV = "3147391d946bb4b6c68edd901f2add6ac1f31f8c"
> >>> +SRCREV = "d71c30c47858effcbd39967097a2d99ee48db464"
> >>>
> >>>
> >>>  inherit cmake
> >>>
> >>> +EXTRA_OECMAKE += " \
> >>> +    -DEIGEN_BUILD_BLAS=OFF \
> >>> +    -DEIGEN_BUILD_LAPACK=OFF \
> >>> +    -DEIGEN_BUILD_TESTING=OFF \
> >>> +"
> >>> +
> >>>  FILES:${PN}-dev += "${datadir}/eigen3/cmake"
> >>>
> >>>  # ${PN} is empty so we need to tweak -dev and -dbg package dependencies
> >>>
> >>> -=-=-=-=-=-=-=-=-=-=-=-
> >>> Links: You receive all messages sent to this group.
> >>> View/Reply Online (#120427): https://lists.openembedded.org/g/openembedded-devel/message/120427
> >>> Mute This Topic: https://lists.openembedded.org/mt/115669722/6084445
> >>> Group Owner: openembedded-devel+owner@lists.openembedded.org
> >>> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [skandigraun@gmail.com]
> >>> -=-=-=-=-=-=-=-=-=-=-=-
> >>>
>
diff mbox series

Patch

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 @@ 
-From cb507309937958c632147de87e8f1231d6698847 Mon Sep 17 00:00:00 2001
-From: Antonio Sanchez <cantonios@google.com>
-Date: Tue, 14 Sep 2021 10:57:22 -0700
-Subject: [PATCH] Default eigen_packet_wrapper constructor.
-
-This makes it trivial, allowing use of `memcpy`.
-
-Fixes #2326
-
-Upstream-Status: Backport [https://gitlab.com/libeigen/eigen/-/merge_requests/645/diffs?commit_id=cb507309937958c632147de87e8f1231d6698847]
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
-* fixes build failures for arm targets with NEON enabled (e.g. -mfpu=neon-vfpv4)
-  for recipes with -Werror enabled and gcc-11, e.g. fuse-core, robot-localization,
-  prbt-ikfast-manipulator-plugin, rm-chassis-controllers in meta-ros1-noetic:
-
-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,
-                 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,
-                 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,
-                 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,
-                 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:
-/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]':
-/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]
- 1671 |   memcpy(&res, from, sizeof(Packet4c));
-      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-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,
-                 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,
-                 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,
-                 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,
-                 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:
-/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
-  159 | struct eigen_packet_wrapper
-      |        ^~~~~~~~~~~~~~~~~~~~
-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,
-                 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,
-                 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,
-                 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,
-                 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:
-/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]':
-/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]
- 1716 |   memcpy(&res, from, sizeof(Packet4c));
-      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-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,
-                 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,
-                 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,
-                 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,
-                 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:
-/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
-  159 | struct eigen_packet_wrapper
-      |        ^~~~~~~~~~~~~~~~~~~~
-cc1plus: all warnings being treated as errors
-
----
- Eigen/src/Core/GenericPacketMath.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Eigen/src/Core/GenericPacketMath.h b/Eigen/src/Core/GenericPacketMath.h
-index 8f8f64f15..72234288e 100644
---- a/Eigen/src/Core/GenericPacketMath.h
-+++ b/Eigen/src/Core/GenericPacketMath.h
-@@ -162,7 +162,7 @@ struct eigen_packet_wrapper
- {
-   EIGEN_ALWAYS_INLINE operator T&() { return m_val; }
-   EIGEN_ALWAYS_INLINE operator const T&() const { return m_val; }
--  EIGEN_ALWAYS_INLINE eigen_packet_wrapper() {}
-+  EIGEN_ALWAYS_INLINE eigen_packet_wrapper() = default;
-   EIGEN_ALWAYS_INLINE eigen_packet_wrapper(const T &v) : m_val(v) {}
-   EIGEN_ALWAYS_INLINE eigen_packet_wrapper& operator=(const T &v) {
-     m_val = v;
--- 
-2.17.1
-
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
similarity index 98%
rename from meta-oe/recipes-support/libeigen/libeigen/0002-Remove-LGPL-Code-and-references.patch
rename to 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 @@ 
-From e63a6950dbebf4dd95e5c74c423c06fd65df5182 Mon Sep 17 00:00:00 2001
+From 5e7b53a3268e7cdc81e358825a8c84f06289866c Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Antonio=20S=C3=A1nchez?= <cantonios@google.com>
 Date: Wed, 8 Feb 2023 01:25:06 +0000
 Subject: [PATCH] Remove LGPL Code and references.
@@ -12,12 +12,11 @@  Upstream-Status: Backport [https://gitlab.com/libeigen/eigen/-/commit/e256ad1823
  bench/tensors/eigen_sycl_bench.sh             |   1 -
  bench/tensors/eigen_sycl_bench_contract.sh    |   2 +-
  doc/PreprocessorDirectives.dox                |   3 -
- test/CMakeLists.txt                           |   1 -
  test/mpl2only.cpp                             |  24 -
  unsupported/Eigen/IterativeSolvers            |   6 -
  .../IterativeSolvers/ConstrainedConjGrad.h    | 187 -------
  .../IterativeSolvers/IterationController.h    | 154 ------
- 12 files changed, 4 insertions(+), 898 deletions(-)
+ 11 files changed, 4 insertions(+), 897 deletions(-)
  delete mode 100644 COPYING.LGPL
  delete mode 100644 Eigen/src/Core/util/NonMPL2.h
  delete mode 100644 test/mpl2only.cpp
@@ -567,7 +566,7 @@  index 1af67cf18..000000000
 -#error Including non-MPL2 code in EIGEN_MPL2_ONLY mode
 -#endif
 diff --git a/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h b/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
-index 7803fd817..1a5d7faeb 100644
+index 5e632c4e2..8b6077601 100644
 --- a/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
 +++ b/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
 @@ -24,8 +24,7 @@ namespace Eigen {
@@ -606,7 +605,7 @@  index 73fd6c4a0..3ab0138a1 100644
  ./tensor_contract_sycl_bench
  
 diff --git a/doc/PreprocessorDirectives.dox b/doc/PreprocessorDirectives.dox
-index 0f545b086..b7d59ccbc 100644
+index eda0d1961..2b5cb1b92 100644
 --- a/doc/PreprocessorDirectives.dox
 +++ b/doc/PreprocessorDirectives.dox
 @@ -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
  
  \section TopicPreprocessorDirectivesPerformance Alignment, vectorization and performance tweaking
  
-diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
-index 5136f82aa..9f557743a 100644
---- a/test/CMakeLists.txt
-+++ b/test/CMakeLists.txt
-@@ -277,7 +277,6 @@ ei_add_test(special_numbers)
- ei_add_test(rvalue_types)
- ei_add_test(dense_storage)
- ei_add_test(ctorleak)
--ei_add_test(mpl2only)
- ei_add_test(inplace_decomposition)
- ei_add_test(half_float)
- ei_add_test(bfloat16_float)
 diff --git a/test/mpl2only.cpp b/test/mpl2only.cpp
 deleted file mode 100644
 index 296350d08..000000000
@@ -662,11 +649,11 @@  index 296350d08..000000000
 -  return 0;
 -}
 diff --git a/unsupported/Eigen/IterativeSolvers b/unsupported/Eigen/IterativeSolvers
-index a3f58d676..f045fb607 100644
+index b53f10937..3ac64e9f8 100644
 --- a/unsupported/Eigen/IterativeSolvers
 +++ b/unsupported/Eigen/IterativeSolvers
 @@ -19,7 +19,6 @@
-   * \defgroup IterativeLinearSolvers_Module Iterative solvers module
+   * \defgroup IterativeLinearSolvers_Module IterativeLinearSolvers module
    * This module aims to provide various iterative linear and non linear solver algorithms.
    * It currently provides:
 -  *  - a constrained conjugate gradient
@@ -1038,3 +1025,6 @@  index a116e09e2..000000000
 -} // end namespace Eigen
 -
 -#endif // EIGEN_ITERATION_CONTROLLER_H
+-- 
+2.48.1
+
diff --git a/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb b/meta-oe/recipes-support/libeigen/libeigen_3.4.1.bb
similarity index 84%
rename from meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb
rename to meta-oe/recipes-support/libeigen/libeigen_3.4.1.bb
index f5f874941a..520244ec7a 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,20 @@  LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad \
 "
 
 SRC_URI = "git://gitlab.com/libeigen/eigen.git;protocol=http;branch=3.4 \
-    file://0001-Default-eigen_packet_wrapper-constructor.patch \
-    file://0002-Remove-LGPL-Code-and-references.patch \
+    file://0001-Remove-LGPL-Code-and-references.patch \
 "
 
-SRCREV = "3147391d946bb4b6c68edd901f2add6ac1f31f8c"
+SRCREV = "d71c30c47858effcbd39967097a2d99ee48db464"
 
 
 inherit cmake
 
+EXTRA_OECMAKE += " \
+    -DEIGEN_BUILD_BLAS=OFF \
+    -DEIGEN_BUILD_LAPACK=OFF \
+    -DEIGEN_BUILD_TESTING=OFF \
+"
+
 FILES:${PN}-dev += "${datadir}/eigen3/cmake"
 
 # ${PN} is empty so we need to tweak -dev and -dbg package dependencies