• Bug#1103067: eigen3: FTBFS in testing/i386: GenericPacketMathFunctions.

    From Lucas Nussbaum@21:1/5 to All on Mon Apr 14 13:50:05 2025
    Source: eigen3
    Version: 3.4.0-4
    Severity: serious
    Justification: FTBFS
    Tags: trixie sid ftbfs
    User: lucas@debian.org
    Usertags: ftbfs-20250414 ftbfs-trixie

    Hi,

    During a rebuild of all packages in testing (trixie), your package failed
    to build on i386.


    Relevant part (hopefully):
    cd /build/reproducible-path/eigen3-3.4.0/debian/build/unsupported/doc/examples && /usr/bin/c++ -I/build/reproducible-path/eigen3-3.4.0 -I/build/reproducible-path/eigen3-3.4.0/unsupported/doc/examples/../../../unsupported -I/build/reproducible-path/
    eigen3-3.4.0/unsupported/doc/examples/../../../unsupported/test -g -O2 -ffile-prefix-map=/build/reproducible-path/eigen3-3.4.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++03 -pedantic -Wall -Wextra -
    Wundef -Wcast-align -Wchar-subscripts -Wnon-virtual-dtor -Wunused-local-typedefs -Wpointer-arith -Wwrite-strings -Wformat-security -Wlogical-op -Wenum-conversion -Wc++11-extensions -Wdouble-promotion -Wshadow -Wno-psabi -Wno-variadic-macros -Wno-long-
    long -fno-check-new -fno-common -fstrict-aliasing -ansi -msse2 -msse3 -MD -MT unsupported/doc/examples/CMakeFiles/example_MatrixFunction.dir/MatrixFunction.cpp.o -MF CMakeFiles/example_MatrixFunction.dir/MatrixFunction.cpp.o.d -o CMakeFiles/example_
    MatrixFunction.dir/MatrixFunction.cpp.o -c /build/reproducible-path/eigen3-3.4.0/unsupported/doc/examples/MatrixFunction.cpp
    In file included from /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/../../Eigen/Core:172,
    from /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/EulerAngles:14,
    from /build/reproducible-path/eigen3-3.4.0/unsupported/doc/examples/EulerAngles.cpp:1:
    /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/../../Eigen/src/Core/GenericPacketMath.h:163:48: warning: defaulted and deleted functions only available with ‘-std=c++11’ or ‘-std=gnu++11’ [-Wc++11-extensions]
    163 | EIGEN_ALWAYS_INLINE eigen_packet_wrapper() = default;
    | ^~~~~~~
    In file included from /build/reproducible-path/eigen3-3.4.0/Eigen/Core:172,
    from /build/reproducible-path/eigen3-3.4.0/unsupported/doc/examples/FFT.cpp:16:
    /build/reproducible-path/eigen3-3.4.0/Eigen/src/Core/GenericPacketMath.h:163:48: warning: defaulted and deleted functions only available with ‘-std=c++11’ or ‘-std=gnu++11’ [-Wc++11-extensions]
    163 | EIGEN_ALWAYS_INLINE eigen_packet_wrapper() = default;
    | ^~~~~~~
    In file included from /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/../../Eigen/Core:172,
    from /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/Polynomials:12,
    from /build/reproducible-path/eigen3-3.4.0/unsupported/doc/examples/PolynomialUtils1.cpp:1:
    /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/../../Eigen/src/Core/GenericPacketMath.h:163:48: warning: defaulted and deleted functions only available with ‘-std=c++11’ or ‘-std=gnu++11’ [-Wc++11-extensions]
    163 | EIGEN_ALWAYS_INLINE eigen_packet_wrapper() = default;
    | ^~~~~~~
    In file included from /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/../../Eigen/Core:172,
    from /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/MatrixFunctions:17,
    from /build/reproducible-path/eigen3-3.4.0/unsupported/doc/examples/MatrixLogarithm.cpp:1:
    /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/../../Eigen/src/Core/GenericPacketMath.h:163:48: warning: defaulted and deleted functions only available with ‘-std=c++11’ or ‘-std=gnu++11’ [-Wc++11-extensions]
    163 | EIGEN_ALWAYS_INLINE eigen_packet_wrapper() = default;
    | ^~~~~~~
    In file included from /build/reproducible-path/eigen3-3.4.0/Eigen/Core:172,
    from /build/reproducible-path/eigen3-3.4.0/Eigen/StdVector:14,
    from /build/reproducible-path/eigen3-3.4.0/unsupported/doc/examples/BVH_Example.cpp:1:
    /build/reproducible-path/eigen3-3.4.0/Eigen/src/Core/GenericPacketMath.h:163:48: warning: defaulted and deleted functions only available with ‘-std=c++11’ or ‘-std=gnu++11’ [-Wc++11-extensions]
    163 | EIGEN_ALWAYS_INLINE eigen_packet_wrapper() = default;
    | ^~~~~~~
    In file included from /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/../../Eigen/Core:172,
    from /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/MatrixFunctions:17,
    from /build/reproducible-path/eigen3-3.4.0/unsupported/doc/examples/MatrixFunction.cpp:1:
    /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/../../Eigen/src/Core/GenericPacketMath.h:163:48: warning: defaulted and deleted functions only available with ‘-std=c++11’ or ‘-std=gnu++11’ [-Wc++11-extensions]
    163 | EIGEN_ALWAYS_INLINE eigen_packet_wrapper() = default;
    | ^~~~~~~
    In file included from /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/../../Eigen/Core:172,
    from /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/MatrixFunctions:17,
    from /build/reproducible-path/eigen3-3.4.0/unsupported/doc/examples/MatrixExponential.cpp:1:
    /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/../../Eigen/src/Core/GenericPacketMath.h:163:48: warning: defaulted and deleted functions only available with ‘-std=c++11’ or ‘-std=gnu++11’ [-Wc++11-extensions]
    163 | EIGEN_ALWAYS_INLINE eigen_packet_wrapper() = default;
    | ^~~~~~~
    In file included from /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/../../Eigen/Core:172,
    from /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/MatrixFunctions:17,
    from /build/reproducible-path/eigen3-3.4.0/unsupported/doc/examples/MatrixPower.cpp:1:
    /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/../../Eigen/src/Core/GenericPacketMath.h:163:48: warning: defaulted and deleted functions only available with ‘-std=c++11’ or ‘-std=gnu++11’ [-Wc++11-extensions]
    163 | EIGEN_ALWAYS_INLINE eigen_packet_wrapper() = default;
    | ^~~~~~~
    In file included from /build/reproducible-path/eigen3-3.4.0/Eigen/Core:250: /build/reproducible-path/eigen3-3.4.0/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h: In instantiation of ‘Packet Eigen::internal::pfrexp_generic(const Packet&, Packet&) [with Packet = __vector(2) double]’:
    /build/reproducible-path/eigen3-3.4.0/Eigen/src/Core/arch/SSE/PacketMath.h:919:24: required from here
    919 | return pfrexp_generic(a, exponent);
    | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ /build/reproducible-path/eigen3-3.4.0/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h:42:77: error: invalid use of incomplete type ‘struct Eigen::internal::make_unsigned<long long int>’
    42 | typedef typename make_unsigned<typename make_integer<Scalar>::type>::type ScalarUI;
    | ^~~~~~~~
    In file included from /build/reproducible-path/eigen3-3.4.0/Eigen/Core:162: /build/reproducible-path/eigen3-3.4.0/Eigen/src/Core/util/Meta.h:182:27: note: declaration of ‘struct Eigen::internal::make_unsigned<long long int>’
    182 | template<typename> struct make_unsigned;
    | ^~~~~~~~~~~~~
    In file included from /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/../../Eigen/Core:250:
    /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/../../Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h: In instantiation of ‘Packet Eigen::internal::pfrexp_generic(const Packet&, Packet&) [with Packet = __vector(2) double]’:
    /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/../../Eigen/src/Core/arch/SSE/PacketMath.h:919:24: required from here
    919 | return pfrexp_generic(a, exponent);
    | ~~~~~~~~~~~~~~^~~~~~~~~~~~~ /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/../../Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h:42:77: error: invalid use of incomplete type ‘struct Eigen::internal::make_unsigned<long long int>’
    42 | typedef typename make_unsigned<typename make_integer<Scalar>::type>::type ScalarUI;
    | ^~~~~~~~
    In file included from /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/../../Eigen/Core:162:
    /build/reproducible-path/eigen3-3.4.0/unsupported/Eigen/../../Eigen/src/Core/util/Meta.h:182:27: note: declaration of ‘struct Eigen::internal::make_unsigned<long long int>’
    182 | template<typename> struct make_unsigned;
    | ^~~~~~~~~~~~~
    make[5]: *** [unsupported/doc/examples/CMakeFiles/example_FFT.dir/build.make:82: unsupported/doc/examples/CMakeFiles/example_FFT.dir/FFT.cpp.o] Error 1


    The full build log is available from: http://qa-logs.debian.net/2025/04/14/eigen3_3.4.0-4_testing-i386.log

    All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20250414;users=lucas@debian.org
    or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20250414&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

    A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

    If you reassign this bug to another package, please mark it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects

    If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dima Kogan@21:1/5 to All on Mon May 19 10:00:01 2025
    To fix this it's necessary to add the "long long int" flavor of
    make_unsigned to Meta.h (such as done in the attached patch). I'll run
    some more tests (primarily to make sure this doesn't break amd64) in the
    next few days and do a Team upload, if nobody beats me to it.



    diff --git a/Eigen/src/Core/util/Meta.h b/Eigen/src/Core/util/Meta.h
    index 81ae2a3..dd25676 100755
    --- a/Eigen/src/Core/util/Meta.h
    +++ b/Eigen/src/Core/util/Meta.h
    @@ -177,12 +177,15 @@ template<> struct is_integral<unsigned __int64> { enum { value = true }; }
    using std::make_unsigned;
    #else
    // TODO: Possibly improve this implementation of make_unsigned.
    // It is currently used only by
    // template<typename Scalar> struct random_default_impl<Scalar, false, true>.
    template<typename> struct make_unsigned;
    +
    +template<> struct make_unsigned<long long int> { typedef unsigned long long int type; };
    +
    template<> struct make_unsigned<char> { typedef unsigned char type; };
    template<> struct make_unsigned<signed char> { typedef unsigned char type; };
    template<> struct make_unsigned<unsigned char> { typedef unsigned char type; };
    template<> struct make_unsigned<signed short> { typedef unsigned short type; };
    template<> struct make_unsigned<unsigned short> { typedef unsigned short type; };
    template<> struct make_unsigned<signed int> { typedef unsigne
  • From Debian Bug Tracking System@21:1/5 to All on Fri May 23 20:00:01 2025
    This is a multi-part message in MIME format...

    Your message dated Fri, 23 May 2025 17:49:11 +0000
    with message-id <E1uIWW7-00Ci7F-BE@fasolo.debian.org>
    and subject line Bug#1103067: fixed in eigen3 3.4.0-5
    has caused the Debian Bug report #1103067,
    regarding eigen3: FTBFS in testing/i386: GenericPacketMathFunctions.h:42:77: error: invalid use of incomplete type ‘struct Eigen::internal::make_unsigned<long long int>’
    to be marked as done.

    This means that you claim that the problem has been dealt with.
    If this is not the case it is now your responsibility to reopen the
    Bug report if necessary, and/or fix the problem forthwith.

    (NB: If you are a system administrator and have no idea what this
    message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org
    immediately.)


    --
    1103067: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1103067
    Debian Bug Tracking System
    Contact owner@bugs.debian.org with problems

    Received: (at submit) by bugs.debian.org; 14 Apr 2025 11:43:36 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.6-bugs.debian.org_2005_01_02
    (2021-04-09) on buxtehude.debian.org
    X-Spam-Level:
    X-Spam-Status: No, score=-105.2 required=4.0 tests=BAYES_00,DKIMWL_WL_HIGH,
    DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FROMDEVELOPER,
    SPF_HELO_NONE,SPF_NONE,UNPARSEABLE_RELAY,USER_IN_DKIM_WELCOMELIST,
    USER_IN_DKIM_WHITELIST autolearn=ham autolearn_force=no
    version=3.4.6-bugs.debian.org_2005_01_02
    X-Spam-Bayes: score:0.0000 Tokens: new, 82; hammy, 150; neutral, 233; spammy,
    0. spammytokens:
    hammytokens:0.000-+--Hx-spam-relays-external:sk:stravin,
    0.000-+--H*RT:sk:stravin, 0.000-+--Hx-spam-relays-external:311,
    0.000-+--H*RT:311, 0.000-+--H*RT:108
    Return-path: <lucas@debian.org>
    Received: from stravinsky.debian.org ([2001:41b8:202:deb::311:108]:5549