Failed PowerPC build in python typeregistry
While packaging dune-common 2.10.0 for openSuse, building fails for PowerPC (ppc64le). Not sure if it is really the architecture or some missing Python packages. The error:
[ 66s] cd /home/abuild/rpmbuild/BUILD/dune-common-2.10.0/serial/python/dune/typeregistry && /usr/bin/c++ -DHAVE_CONFIG_H -DHAVE_GMP=1 -DHAVE_QUADMATH=1 -D_GLIBCXX_USE_FLOAT128 -D_typeregistry_EXPORTS -I/home/abuild/rpmbuild/BUILD/dune-common-2.10.0/serial -I/home/abuild/rpmbuild/BUILD/dune-common-2.10.0 -I/home/abuild/rpmbuild/BUILD/dune-common-2.10.0/serial/include -I/home/abuild/rpmbuild/BUILD/dune-common-2.10.0/serial/include_private -isystem /usr/include/python3.11 -fPIC -Wabi -fabi-version=0 -fabi-compat-version=0 -ffp-contract=fast -DHAVE_VC=1 -fext-numeric-literals -MD -MT python/dune/typeregistry/CMakeFiles/_typeregistry.dir/_typeregistry.cc.o -MF CMakeFiles/_typeregistry.dir/_typeregistry.cc.o.d -o CMakeFiles/_typeregistry.dir/_typeregistry.cc.o -c /home/abuild/rpmbuild/BUILD/dune-common-2.10.0/python/dune/typeregistry/_typeregistry.cc
[ 66s] In file included from /usr/include/c++/14/bits/stl_pair.h:60,
[ 66s] from /usr/include/c++/14/bits/stl_algobase.h:64,
[ 66s] from /usr/include/c++/14/algorithm:60,
[ 66s] from /home/abuild/rpmbuild/BUILD/dune-common-2.10.0/dune/python/common/typeregistry.hh:6,
[ 66s] from /home/abuild/rpmbuild/BUILD/dune-common-2.10.0/python/dune/typeregistry/_typeregistry.cc:5:
[ 66s] /usr/include/c++/14/type_traits:514:12: error: redefinition of ‘struct std::__is_floating_point_helper<long double>’
[ 66s] 514 | struct __is_floating_point_helper<__float128>
[ 66s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 66s] /usr/include/c++/14/type_traits:479:12: note: previous definition of ‘struct std::__is_floating_point_helper<long double>’
[ 66s] 479 | struct __is_floating_point_helper<long double>
[ 66s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 66s] /usr/include/c++/14/bits/stl_algobase.h:1079:3: error: redefinition of ‘constexpr long long int std::__size_to_integer(long double)’
[ 66s] 1079 | __size_to_integer(__float128 __n) { return (long long)__n; }
[ 66s] | ^~~~~~~~~~~~~~~~~
[ 66s] /usr/include/c++/14/bits/stl_algobase.h:1076:3: note: ‘constexpr long long int std::__size_to_integer(long double)’ previously defined here
[ 66s] 1076 | __size_to_integer(long double __n) { return (long long)__n; }
[ 66s] | ^~~~~~~~~~~~~~~~~
[ 66s] In file included from /usr/include/c++/14/cstdlib:81,
[ 66s] from /usr/include/c++/14/bits/stl_algo.h:71,
[ 66s] from /usr/include/c++/14/algorithm:61:
[ 66s] /usr/include/c++/14/bits/std_abs.h:137:3: error: redefinition of ‘constexpr long double std::abs(long double)’
[ 66s] 137 | abs(__float128 __x)
[ 66s] | ^~~
[ 66s] /usr/include/c++/14/bits/std_abs.h:79:3: note: ‘constexpr long double std::abs(long double)’ previously defined here
[ 66s] 79 | abs(long double __x)
[ 66s] | ^~~
[ 66s] In file included from /usr/include/c++/14/bits/specfun.h:44,
[ 66s] from /usr/include/c++/14/cmath:3898,
[ 66s] from /usr/include/c++/14/math.h:36,
[ 66s] from /usr/include/python3.11/pyport.h:218,
[ 66s] from /usr/include/python3.11/Python.h:38,
[ 66s] from /home/abuild/rpmbuild/BUILD/dune-common-2.10.0/dune/python/pybind11/detail/../detail/common.h:274,
[ 66s] from /home/abuild/rpmbuild/BUILD/dune-common-2.10.0/dune/python/pybind11/detail/../attr.h:13,
[ 66s] from /home/abuild/rpmbuild/BUILD/dune-common-2.10.0/dune/python/pybind11/detail/class.h:12,
[ 66s] from /home/abuild/rpmbuild/BUILD/dune-common-2.10.0/dune/python/pybind11/pybind11.h:13,
[ 66s] from /home/abuild/rpmbuild/BUILD/dune-common-2.10.0/dune/python/common/typeregistry.hh:21:
[ 66s] /usr/include/c++/14/limits:2089:12: error: redefinition of ‘struct std::numeric_limits<long double>’
[ 66s] 2089 | struct numeric_limits<__float128>
[ 66s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~
[ 66s] /usr/include/c++/14/limits:1820:12: note: previous definition of ‘struct std::numeric_limits<long double>’
[ 66s] 1820 | struct numeric_limits<long double>
[ 66s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 66s] make[2]: *** [python/dune/typeregistry/CMakeFiles/_typeregistry.dir/build.make:76: python/dune/typeregistry/CMakeFiles/_typeregistry.dir/_typeregistry.cc.o] Error 1
[ 66s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/dune-common-2.10.0/serial'
[ 66s] make[1]: *** [CMakeFiles/Makefile2:5304: python/dune/typeregistry/CMakeFiles/_typeregistry.dir/all] Error 2
[ 66s] make[1]: *** Waiting for unfinished jobs....
[ 69s] make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/dune-common-2.10.0/serial'
[ 69s] [100%] Building CXX object python/dune/common/CMakeFiles/_common.dir/_common.cc.o
[ 69s] cd /home/abuild/rpmbuild/BUILD/dune-common-2.10.0/serial/python/dune/common && /usr/bin/c++ -DHAVE_CONFIG_H -DHAVE_GMP=1 -DHAVE_QUADMATH=1 -D_GLIBCXX_USE_FLOAT128 -D_common_EXPORTS -I/home/abuild/rpmbuild/BUILD/dune-common-2.10.0/serial -I/home/abuild/rpmbuild/BUILD/dune-common-2.10.0 -I/home/abuild/rpmbuild/BUILD/dune-common-2.10.0/serial/include -I/home/abuild/rpmbuild/BUILD/dune-common-2.10.0/serial/include_private -isystem /usr/include/python3.11 -fPIC -Wabi -fabi-version=0 -fabi-compat-version=0 -ffp-contract=fast -DHAVE_VC=1 -fext-numeric-literals -MD -MT python/dune/common/CMakeFiles/_common.dir/_common.cc.o -MF CMakeFiles/_common.dir/_common.cc.o.d -o CMakeFiles/_common.dir/_common.cc.o -c /home/abuild/rpmbuild/BUILD/dune-common-2.10.0/python/dune/common/_common.cc
[ 69s] In file included from /usr/include/c++/14/bits/stl_pair.h:60,
[ 69s] from /usr/include/c++/14/utility:69,
[ 69s] from /home/abuild/rpmbuild/BUILD/dune-common-2.10.0/python/dune/common/_common.cc:5:
[ 69s] /usr/include/c++/14/type_traits:514:12: error: redefinition of ‘struct std::__is_floating_point_helper<long double>’
[ 69s] 514 | struct __is_floating_point_helper<__float128>
[ 69s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 69s] /usr/include/c++/14/type_traits:479:12: note: previous definition of ‘struct std::__is_floating_point_helper<long double>’
[ 69s] 479 | struct __is_floating_point_helper<long double>
[ 69s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 69s] In file included from /usr/include/c++/14/string:51,
[ 69s] from /home/abuild/rpmbuild/BUILD/dune-common-2.10.0/dune/python/common/dynmatrix.hh:9,
[ 69s] from /home/abuild/rpmbuild/BUILD/dune-common-2.10.0/python/dune/common/_common.cc:9:
[ 69s] /usr/include/c++/14/bits/stl_algobase.h:1079:3: error: redefinition of ‘constexpr long long int std::__size_to_integer(long double)’
[ 69s] 1079 | __size_to_integer(__float128 __n) { return (long long)__n; }
[ 69s] | ^~~~~~~~~~~~~~~~~
[ 69s] /usr/include/c++/14/bits/stl_algobase.h:1076:3: note: ‘constexpr long long int std::__size_to_integer(long double)’ previously defined here
[ 69s] 1076 | __size_to_integer(long double __n) { return (long long)__n; }
[ 69s] | ^~~~~~~~~~~~~~~~~
[ 69s] In file included from /usr/include/c++/14/cstdlib:81,
[ 69s] from /usr/include/c++/14/ext/string_conversions.h:43,
[ 69s] from /usr/include/c++/14/bits/basic_string.h:4154,
[ 69s] from /usr/include/c++/14/string:54:
[ 69s] /usr/include/c++/14/bits/std_abs.h:137:3: error: redefinition of ‘constexpr long double std::abs(long double)’
[ 69s] 137 | abs(__float128 __x)
[ 69s] | ^~~
[ 69s] /usr/include/c++/14/bits/std_abs.h:79:3: note: ‘constexpr long double std::abs(long double)’ previously defined here
[ 69s] 79 | abs(long double __x)
[ 69s] | ^~~
[ 69s] In file included from /usr/include/c++/14/bits/specfun.h:44,
[ 69s] from /usr/include/c++/14/cmath:3898,
[ 69s] from /home/abuild/rpmbuild/BUILD/dune-common-2.10.0/dune/common/dynmatrix.hh:8,
[ 69s] from /home/abuild/rpmbuild/BUILD/dune-common-2.10.0/dune/python/common/dynmatrix.hh:13:
[ 69s] /usr/include/c++/14/limits:2089:12: error: redefinition of ‘struct std::numeric_limits<long double>’
[ 69s] 2089 | struct numeric_limits<__float128>
[ 69s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~
[ 69s] /usr/include/c++/14/limits:1820:12: note: previous definition of ‘struct std::numeric_limits<long double>’
[ 69s] 1820 | struct numeric_limits<long double>
[ 69s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 69s] make[2]: *** [python/dune/common/CMakeFiles/_common.dir/build.make:76: python/dune/common/CMakeFiles/_common.dir/_common.cc.o] Error 1
[ 69s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/dune-common-2.10.0/serial'
[ 69s] make[1]: *** [CMakeFiles/Makefile2:5278: python/dune/common/CMakeFiles/_common.dir/all] Error 2