Bug#1126484: vtk9: xdmf3 module fails to build on 32-bit architectures
Drew Parsons
dparsons at debian.org
Tue Jan 27 10:24:09 GMT 2026
Package: vtk9
Version: 9.5.2+dfsg3-1
Severity: normal
Tags: ftbfs
X-Debbugs-Cc: debian-arm at lists.debian.org
User: debian-arm at lists.debian.org
Usertags: armhf
User: debian-qa at lists.debian.org
Usertags: i386
Control: forwarded -1 https://gitlab.kitware.com/paraview/paraview/-/issues/22630
The (third-party) xdmf3 module fails to build on 32-bit architectures
e.g. armhf
https://buildd.debian.org/status/fetch.php?pkg=vtk9&arch=armhf&ver=9.5.2%2Bdfsg3-1&stamp=1769505385&raw=0
[ 0%] Building CXX object ThirdParty/xdmf3/vtkxdmf3/core/CMakeFiles/vtkxdmfcore.dir/XdmfArrayType.cpp.o
cd /build/reproducible-path/vtk9-9.5.2+dfsg3/debian/build/ThirdParty/xdmf3/vtkxdmf3/core && /usr/bin/c++ -DH5_BUILT_AS_DYNAMIC_LIB -DMPICH_SKIP_MPICXX -DMPI_NO_CPPBIND -DOMPI_SKIP_MPICXX -D_MPICC_H -Dvtkxdmfcore_EXPORTS -I/build/reproducible-path/vtk9-9.5.2+dfsg3/ThirdParty/xdmf3/vtkxdmf3 -I/build/reproducible-path/vtk9-9.5.2+dfsg3/debian/build/ThirdParty/xdmf3/vtkxdmf3 -I/build/reproducible-path/vtk9-9.5.2+dfsg3/CMake/VersionSuite -I/build/reproducible-path/vtk9-9.5.2+dfsg3/ThirdParty/xdmf3/vtkxdmf3/core -I/build/reproducible-path/vtk9-9.5.2+dfsg3/ThirdParty/xdmf3/vtkxdmf3/core/../CMake/VersionSuite -I/build/reproducible-path/vtk9-9.5.2+dfsg3/debian/build/ThirdParty/xdmf3/vtkxdmf3/core -isystem /build/reproducible-path/vtk9-9.5.2+dfsg3/debian/build/ThirdParty/libxml2 -isystem /build/reproducible-path/vtk9-9.5.2+dfsg3/ThirdParty/libxml2 -isystem /usr/include/libxml2 -isystem /build/reproducible-path/vtk9-9.5.2+dfsg3/debian/build/ThirdParty/hdf5 -isystem /build/reproducible-path/vtk9-9.5.2+dfsg3/ThirdParty/hdf5 -isystem /usr/include/hdf5/mpich -isystem /build/reproducible-path/vtk9-9.5.2+dfsg3/debian/build/Utilities/MPI -isystem /build/reproducible-path/vtk9-9.5.2+dfsg3/Utilities/MPI -isystem /usr/lib/arm-linux-gnueabihf/mpich/include -g -O2 -ffile-prefix-map=/build/reproducible-path/vtk9-9.5.2+dfsg3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++17 -fPIC -MD -MT ThirdParty/xdmf3/vtkxdmf3/core/CMakeFiles/vtkxdmfcore.dir/XdmfArrayType.cpp.o -MF CMakeFiles/vtkxdmfcore.dir/XdmfArrayType.cpp.o.d -o CMakeFiles/vtkxdmfcore.dir/XdmfArrayType.cpp.o -c /build/reproducible-path/vtk9-9.5.2+dfsg3/ThirdParty/xdmf3/vtkxdmf3/core/XdmfArrayType.cpp
...
/build/reproducible-path/vtk9-9.5.2+dfsg3/ThirdParty/xdmf3/vtkxdmf3/core/XdmfArray.cpp: In instantiation of ‘boost::shared_ptr<const XdmfArrayType> XdmfArray::GetArrayType::operator()(const boost::shared_ptr<std::vector<T> >&) const [with T = long unsigned int]’:
/usr/include/boost/variant/variant.hpp:1028:24: required from ‘typename boost::disable_if_c<(MoveSemantics && boost::is_same<Value2, Value2>::value), typename Visitor::result_type>::type boost::detail::variant::invoke_visitor<Visitor, MoveSemantics>::internal_visit(T&&, int) [with T = const boost::shared_ptr<std::vector<long unsigned int> >&; Visitor = const XdmfArray::GetArrayType; bool MoveSemantics = false; typename boost::disable_if_c<(MoveSemantics && boost::is_same<Value2, Value2>::value), typename Visitor::result_type>::type = boost::shared_ptr<const XdmfArrayType>; typename Visitor::result_type = boost::shared_ptr<const XdmfArrayType>]’
1028 | return visitor_(operand);
| ~~~~~~~~^~~~~~~~~
/usr/include/boost/variant/detail/visitation_impl.hpp:117:34: required from ‘typename Visitor::result_type boost::detail::variant::visitation_impl_invoke_impl(int, Visitor&, VoidPtrCV, T*, mpl_::true_) [with Visitor = invoke_visitor<const XdmfArray::GetArrayType, false>; VoidPtrCV = const void*; T = boost::shared_ptr<std::vector<long unsigned int> >; typename Visitor::result_type = boost::shared_ptr<const XdmfArrayType>; mpl_::true_ = mpl_::bool_<true>]’
117 | return visitor.internal_visit(
| ~~~~~~~~~~~~~~~~~~~~~~^
118 | cast_storage<T>(storage), 1L
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
119 | );
| ~
/usr/include/boost/variant/detail/visitation_impl.hpp:157:41: required from ‘typename Visitor::result_type boost::detail::variant::visitation_impl_invoke(int, Visitor&, VoidPtrCV, T*, NoBackupFlag, int) [with Visitor = invoke_visitor<const XdmfArray::GetArrayType, false>; VoidPtrCV = const void*; T = boost::shared_ptr<std::vector<long unsigned int> >; NoBackupFlag = boost::variant<boost::blank, boost::shared_ptr<std::vector<char, std::allocator<char> > >, boost::shared_ptr<std::vector<short int, std::allocator<short int> > >, boost::shared_ptr<std::vector<int, std::allocator<int> > >, boost::shared_ptr<std::vector<long int, std::allocator<long int> > >, boost::shared_ptr<std::vector<float, std::allocator<float> > >, boost::shared_ptr<std::vector<double, std::allocator<double> > >, boost::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, boost::shared_ptr<std::vector<short unsigned int, std::allocator<short unsigned int> > >, boost::shared_ptr<std::vector<unsigned int, std::allocator<unsigned int> > >, boost::shared_ptr<std::vector<long unsigned int, std::allocator<long unsigned int> > >, boost::shared_ptr<std::vector<long long unsigned int, std::allocator<long long unsigned int> > >, boost::shared_ptr<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::shared_array<const char>, boost::shared_array<const short int>, boost::shared_array<const int>, boost::shared_array<const long int>, boost::shared_array<const float>, boost::shared_array<const double>, boost::shared_array<const unsigned char>, boost::shared_array<const short unsigned int>, boost::shared_array<const unsigned int>, boost::shared_array<const long unsigned int>, boost::shared_array<const long long unsigned int> >::has_fallback_type_; typename Visitor::result_type = boost::shared_ptr<const XdmfArrayType>]’
157 | return (visitation_impl_invoke_impl)(
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
158 | internal_which, visitor, storage, t
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
159 | , never_uses_backup()
| ~~~~~~~~~~~~~~~~~~~~~
160 | );
| ~
/usr/include/boost/variant/detail/visitation_impl.hpp:238:5: required from ‘typename Visitor::result_type boost::detail::variant::visitation_impl(int, int, Visitor&, VoidPtrCV, mpl_::false_, NoBackupFlag, Which*, step0*) [with Which = mpl_::int_<0>; step0 = visitation_impl_step<boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<24>, boost::blank, boost::mpl::l_item<mpl_::long_<23>, boost::shared_ptr<std::vector<char> >, boost::mpl::l_item<mpl_::long_<22>, boost::shared_ptr<std::vector<short int> >, boost::mpl::l_item<mpl_::long_<21>, boost::shared_ptr<std::vector<int> >, boost::mpl::l_item<mpl_::long_<20>, boost::shared_ptr<std::vector<long int> >, boost::mpl::l_item<mpl_::long_<19>, boost::shared_ptr<std::vector<float> >, boost::mpl::l_item<mpl_::long_<18>, boost::shared_ptr<std::vector<double> >, boost::mpl::l_item<mpl_::long_<17>, boost::shared_ptr<std::vector<unsigned char> >, boost::mpl::l_item<mpl_::long_<16>, boost::shared_ptr<std::vector<short unsigned int> >, boost::mpl::l_item<mpl_::long_<15>, boost::shared_ptr<std::vector<unsigned int> >, boost::mpl::l_item<mpl_::long_<14>, boost::shared_ptr<std::vector<long unsigned int> >, boost::mpl::l_item<mpl_::long_<13>, boost::shared_ptr<std::vector<long long unsigned int> >, boost::mpl::l_item<mpl_::long_<12>, boost::shared_ptr<std::vector<std::__cxx11::basic_string<char> > >, boost::mpl::l_item<mpl_::long_<11>, boost::shared_array<const char>, boost::mpl::l_item<mpl_::long_<10>, boost::shared_array<const short int>, boost::mpl::l_item<mpl_::long_<9>, boost::shared_array<const int>, boost::mpl::l_item<mpl_::long_<8>, boost::shared_array<const long int>, boost::mpl::l_item<mpl_::long_<7>, boost::shared_array<const float>, boost::mpl::l_item<mpl_::long_<6>, boost::shared_array<const double>, boost::mpl::l_item<mpl_::long_<5>, boost::shared_array<const unsigned char>, boost::mpl::l_item<mpl_::long_<4>, boost::shared_array<const short unsigned int>, boost::mpl::l_item<mpl_::long_<3>, boost::shared_array<const unsigned int>, boost::mpl::l_item<mpl_::long_<2>, boost::shared_array<const long unsigned int>, boost::mpl::l_item<mpl_::long_<1>, boost::shared_array<const long long unsigned int>, boost::mpl::l_end> > > > > > > > > > > > > > > > > > > > > > > > >, boost::mpl::l_iter<boost::mpl::l_end> >; Visitor = invoke_visitor<const XdmfArray::GetArrayType, false>; VoidPtrCV = const void*; NoBackupFlag = boost::variant<boost::blank, boost::shared_ptr<std::vector<char, std::allocator<char> > >, boost::shared_ptr<std::vector<short int, std::allocator<short int> > >, boost::shared_ptr<std::vector<int, std::allocator<int> > >, boost::shared_ptr<std::vector<long int, std::allocator<long int> > >, boost::shared_ptr<std::vector<float, std::allocator<float> > >, boost::shared_ptr<std::vector<double, std::allocator<double> > >, boost::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, boost::shared_ptr<std::vector<short unsigned int, std::allocator<short unsigned int> > >, boost::shared_ptr<std::vector<unsigned int, std::allocator<unsigned int> > >, boost::shared_ptr<std::vector<long unsigned int, std::allocator<long unsigned int> > >, boost::shared_ptr<std::vector<long long unsigned int, std::allocator<long long unsigned int> > >, boost::shared_ptr<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::shared_array<const char>, boost::shared_array<const short int>, boost::shared_array<const int>, boost::shared_array<const long int>, boost::shared_array<const float>, boost::shared_array<const double>, boost::shared_array<const unsigned char>, boost::shared_array<const short unsigned int>, boost::shared_array<const unsigned int>, boost::shared_array<const long unsigned int>, boost::shared_array<const long long unsigned int> >::has_fallback_type_; typename Visitor::result_type = boost::shared_ptr<const XdmfArrayType>; mpl_::false_ = mpl_::bool_<false>]’
238 | BOOST_PP_REPEAT(
| ^~~~~~~~~~~~~~~
/usr/include/boost/variant/variant.hpp:2338:48: required from ‘static typename Visitor::result_type boost::variant<T0, TN>::internal_apply_visitor_impl(int, int, Visitor&, VoidPtrCV) [with Visitor = boost::detail::variant::invoke_visitor<const XdmfArray::GetArrayType, false>; VoidPtrCV = const void*; T0_ = boost::blank; TN = {boost::shared_ptr<std::vector<char, std::allocator<char> > >, boost::shared_ptr<std::vector<short int, std::allocator<short int> > >, boost::shared_ptr<std::vector<int, std::allocator<int> > >, boost::shared_ptr<std::vector<long int, std::allocator<long int> > >, boost::shared_ptr<std::vector<float, std::allocator<float> > >, boost::shared_ptr<std::vector<double, std::allocator<double> > >, boost::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, boost::shared_ptr<std::vector<short unsigned int, std::allocator<short unsigned int> > >, boost::shared_ptr<std::vector<unsigned int, std::allocator<unsigned int> > >, boost::shared_ptr<std::vector<long unsigned int, std::allocator<long unsigned int> > >, boost::shared_ptr<std::vector<long long unsigned int, std::allocator<long long unsigned int> > >, boost::shared_ptr<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::shared_array<const char>, boost::shared_array<const short int>, boost::shared_array<const int>, boost::shared_array<const long int>, boost::shared_array<const float>, boost::shared_array<const double>, boost::shared_array<const unsigned char>, boost::shared_array<const short unsigned int>, boost::shared_array<const unsigned int>, boost::shared_array<const long unsigned int>, boost::shared_array<const long long unsigned int>}; typename Visitor::result_type = boost::shared_ptr<const XdmfArrayType>]’
2338 | return detail::variant::visitation_impl(
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
2339 | internal_which, logical_which
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2340 | , visitor, storage, mpl::false_()
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2341 | , never_uses_backup_flag()
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
2342 | , static_cast<first_which*>(0), static_cast<first_step*>(0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2343 | );
| ~
/usr/include/boost/variant/variant.hpp:2359:43: required from ‘typename Visitor::result_type boost::variant<T0, TN>::internal_apply_visitor(Visitor&) const [with Visitor = boost::detail::variant::invoke_visitor<const XdmfArray::GetArrayType, false>; T0_ = boost::blank; TN = {boost::shared_ptr<std::vector<char, std::allocator<char> > >, boost::shared_ptr<std::vector<short int, std::allocator<short int> > >, boost::shared_ptr<std::vector<int, std::allocator<int> > >, boost::shared_ptr<std::vector<long int, std::allocator<long int> > >, boost::shared_ptr<std::vector<float, std::allocator<float> > >, boost::shared_ptr<std::vector<double, std::allocator<double> > >, boost::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, boost::shared_ptr<std::vector<short unsigned int, std::allocator<short unsigned int> > >, boost::shared_ptr<std::vector<unsigned int, std::allocator<unsigned int> > >, boost::shared_ptr<std::vector<long unsigned int, std::allocator<long unsigned int> > >, boost::shared_ptr<std::vector<long long unsigned int, std::allocator<long long unsigned int> > >, boost::shared_ptr<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::shared_array<const char>, boost::shared_array<const short int>, boost::shared_array<const int>, boost::shared_array<const long int>, boost::shared_array<const float>, boost::shared_array<const double>, boost::shared_array<const unsigned char>, boost::shared_array<const short unsigned int>, boost::shared_array<const unsigned int>, boost::shared_array<const long unsigned int>, boost::shared_array<const long long unsigned int>}; typename Visitor::result_type = boost::shared_ptr<const XdmfArrayType>]’
2359 | return internal_apply_visitor_impl(
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
2360 | which_, which(), visitor, storage_.address()
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2361 | );
| ~
/usr/include/boost/variant/variant.hpp:2405:44: required from ‘typename Visitor::result_type boost::variant<T0, TN>::apply_visitor(Visitor&) const & [with Visitor = const XdmfArray::GetArrayType; T0_ = boost::blank; TN = {boost::shared_ptr<std::vector<char, std::allocator<char> > >, boost::shared_ptr<std::vector<short int, std::allocator<short int> > >, boost::shared_ptr<std::vector<int, std::allocator<int> > >, boost::shared_ptr<std::vector<long int, std::allocator<long int> > >, boost::shared_ptr<std::vector<float, std::allocator<float> > >, boost::shared_ptr<std::vector<double, std::allocator<double> > >, boost::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, boost::shared_ptr<std::vector<short unsigned int, std::allocator<short unsigned int> > >, boost::shared_ptr<std::vector<unsigned int, std::allocator<unsigned int> > >, boost::shared_ptr<std::vector<long unsigned int, std::allocator<long unsigned int> > >, boost::shared_ptr<std::vector<long long unsigned int, std::allocator<long long unsigned int> > >, boost::shared_ptr<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::shared_array<const char>, boost::shared_array<const short int>, boost::shared_array<const int>, boost::shared_array<const long int>, boost::shared_array<const float>, boost::shared_array<const double>, boost::shared_array<const unsigned char>, boost::shared_array<const short unsigned int>, boost::shared_array<const unsigned int>, boost::shared_array<const long unsigned int>, boost::shared_array<const long long unsigned int>}; typename Visitor::result_type = boost::shared_ptr<const XdmfArrayType>]’
2405 | return this->internal_apply_visitor(invoker);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/usr/include/boost/variant/detail/apply_visitor_unary.hpp:68:64: required from ‘typename Visitor::result_type boost::apply_visitor(const Visitor&, Visitable&&) [with Visitor = XdmfArray::GetArrayType; Visitable = const variant<blank, shared_ptr<std::vector<char, std::allocator<char> > >, shared_ptr<std::vector<short int, std::allocator<short int> > >, shared_ptr<std::vector<int, std::allocator<int> > >, shared_ptr<std::vector<long int, std::allocator<long int> > >, shared_ptr<std::vector<float, std::allocator<float> > >, shared_ptr<std::vector<double, std::allocator<double> > >, shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, shared_ptr<std::vector<short unsigned int, std::allocator<short unsigned int> > >, shared_ptr<std::vector<unsigned int, std::allocator<unsigned int> > >, shared_ptr<std::vector<long unsigned int, std::allocator<long unsigned int> > >, shared_ptr<std::vector<long long unsigned int, std::allocator<long long unsigned int> > >, shared_ptr<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, shared_array<const char>, shared_array<const short int>, shared_array<const int>, shared_array<const long int>, shared_array<const float>, shared_array<const double>, shared_array<const unsigned char>, shared_array<const short unsigned int>, shared_array<const unsigned int>, shared_array<const long unsigned int>, shared_array<const long long unsigned int> >&; typename Visitor::result_type = shared_ptr<const XdmfArrayType>]’
68 | return ::boost::forward<Visitable>(visitable).apply_visitor(visitor);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/build/reproducible-path/vtk9-9.5.2+dfsg3/ThirdParty/xdmf3/vtkxdmf3/core/XdmfArray.cpp:642:32: required from here
642 | return boost::apply_visitor(GetArrayType(mHeavyDataControllers[0]),
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
643 | mArray);
| ~~~~~~~
/build/reproducible-path/vtk9-9.5.2+dfsg3/ThirdParty/xdmf3/vtkxdmf3/core/XdmfArray.cpp:216:30: error: no matching function for call to ‘getArrayType(__gnu_cxx::__alloc_traits<std::allocator<long unsigned int>, long unsigned int>::value_type*)’
216 | return this->getArrayType(&(array.get()->operator[](0)));
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/reproducible-path/vtk9-9.5.2+dfsg3/ThirdParty/xdmf3/vtkxdmf3/core/XdmfArray.cpp:216:30: note: there are 11 candidates
/build/reproducible-path/vtk9-9.5.2+dfsg3/ThirdParty/xdmf3/vtkxdmf3/core/XdmfArray.cpp:142:3: note: candidate 1: ‘boost::shared_ptr<const XdmfArrayType> XdmfArray::GetArrayType::getArrayType(const int*) const’ (near match)
142 | getArrayType(const int * const) const
| ^~~~~~~~~~~~
/build/reproducible-path/vtk9-9.5.2+dfsg3/ThirdParty/xdmf3/vtkxdmf3/core/XdmfArray.cpp:142:3: note: conversion of argument 1 would be ill-formed:
/build/reproducible-path/vtk9-9.5.2+dfsg3/ThirdParty/xdmf3/vtkxdmf3/core/XdmfArray.cpp:216:31: error: invalid conversion from ‘__gnu_cxx::__alloc_traits<std::allocator<long unsigned int>, long unsigned int>::value_type*’ {aka ‘long unsigned int*’} to ‘const int*’ [-fpermissive]
216 | return this->getArrayType(&(array.get()->operator[](0)));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| __gnu_cxx::__alloc_traits<std::allocator<long unsigned int>, long unsigned int>::value_type* {aka long unsigned int*}
/build/reproducible-path/vtk9-9.5.2+dfsg3/ThirdParty/xdmf3/vtkxdmf3/core/XdmfArray.cpp:148:3: note: candidate 2: ‘boost::shared_ptr<const XdmfArrayType> XdmfArray::GetArrayType::getArrayType(const long int*) const’ (near match)
148 | getArrayType(const long * const) const
| ^~~~~~~~~~~~
Reported upstream
https://gitlab.kitware.com/paraview/paraview/-/issues/22630
More information about the debian-science-maintainers
mailing list