Bug#1110575: still ftbfs with boost 1.88

Francesco Ballarin ballarin at debian.org
Thu Sep 11 11:41:53 BST 2025


Apologies, I botched the upload in -20 and the build failed. I've uploaded
a version -21 to fix that.



On Tue, Sep 9, 2025 at 11:47 PM Matthias Klose <doko at debian.org> wrote:

> Control: reopen -1
>
> fyi, this still fails in Ubuntu with boost 1.88, see
>
> https://launchpad.net/ubuntu/+source/dolfin/2019.2.0~legacy20240219.1c52e83-19/+build/31141291
>
> [...]
> cd "/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/dolfin" && /usr/bin/c++
> -DDOLFIN_VERSION=\"2019.2.0.64.dev0\" -DHAS_CHOLMOD -DHAS_HDF5 -DHAS_MPI
> -DHAS_PETSC -DHAS_SCOTCH -DHAS_SLEPC -DHAS_UMFPACK -DHAS_ZLIB -DNDEBUG
> -Ddolfin_EXPORTS -I"/<<PKGBUILDDIR>>"
> -I"/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu" -isystem
> /usr/lib/python3/dist-packages/ffc/backends/ufc -isystem
> /usr/include/eigen3 -isystem /usr/include/hdf5/openmpi -isystem
> /usr/include/suitesparse -isystem /usr/include/scotch -isystem
> /usr/lib/x86_64-linux-gnu/openmpi/include -isystem
> /usr/lib/x86_64-linux-gnu/openmpi/include/openmpi -isystem
> /usr/lib/slepcdir/slepc3.22/x86_64-linux-gnu-real/include -isystem
> /usr/lib/petscdir/petsc3.22/x86_64-linux-gnu-real/include -fpermissive
> -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
> -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong
> -fstack-clash-protection -Wformat -Werror=format-security
> -fcf-protection
> -fdebug-prefix-map=/<<PKGBUILDDIR>>=/usr/src/dolfin-2019.2.0~legacy20240219.1c52e83-19
>
> -Wdate-time -D_FORTIFY_SOURCE=3 -O2 -g -DNDEBUG -std=c++11 -fPIC -MD -MT
> dolfin/CMakeFiles/dolfin.dir/math/Legendre.cpp.o -MF
> CMakeFiles/dolfin.dir/math/Legendre.cpp.o.d -o
> CMakeFiles/dolfin.dir/math/Legendre.cpp.o -c
> "/<<PKGBUILDDIR>>/dolfin/math/Legendre.cpp"
> In file included from
> /usr/include/boost/math/special_functions/math_fwd.hpp:27,
>                   from
> /usr/include/boost/math/special_functions/legendre.hpp:16,
>                   from /<<PKGBUILDDIR>>/dolfin/math/Legendre.cpp:24:
> /usr/include/boost/math/tools/config.hpp:28:6: warning: #warning
> "Boost.Math requires C++14" [-Wcpp]
>     28 | #    warning "Boost.Math requires C++14"
>        |      ^~~~~~~
> In file included from /usr/include/boost/math/tools/promotion.hpp:28,
>                   from
> /usr/include/boost/math/special_functions/math_fwd.hpp:28:
> /usr/include/boost/math/tools/type_traits.hpp:208:12: error: ‘is_final’
> has not been declared in ‘std’
>    208 | using std::is_final;
>        |            ^~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:259:12: error:
> ‘remove_cv_t’ has not been declared in ‘std’
>    259 | using std::remove_cv_t;
>        |            ^~~~~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:261:12: error:
> ‘remove_const_t’ has not been declared in ‘std’
>    261 | using std::remove_const_t;
>        |            ^~~~~~~~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:263:12: error:
> ‘remove_volatile_t’ has not been declared in ‘std’
>    263 | using std::remove_volatile_t;
>        |            ^~~~~~~~~~~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:265:12: error: ‘add_cv_t’
> has not been declared in ‘std’
>    265 | using std::add_cv_t;
>        |            ^~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:267:12: error:
> ‘add_const_t’ has not been declared in ‘std’
>    267 | using std::add_const_t;
>        |            ^~~~~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:269:12: error:
> ‘add_volatile_t’ has not been declared in ‘std’
>    269 | using std::add_volatile_t;
>        |            ^~~~~~~~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:273:12: error:
> ‘remove_reference_t’ has not been declared in ‘std’
>    273 | using std::remove_reference_t;
>        |            ^~~~~~~~~~~~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:275:12: error:
> ‘add_lvalue_reference_t’ has not been declared in ‘std’
>    275 | using std::add_lvalue_reference_t;
>        |            ^~~~~~~~~~~~~~~~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:277:12: error:
> ‘add_rvalue_reference_t’ has not been declared in ‘std’
>    277 | using std::add_rvalue_reference_t;
>        |            ^~~~~~~~~~~~~~~~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:281:12: error:
> ‘remove_pointer_t’ has not been declared in ‘std’
>    281 | using std::remove_pointer_t;
>        |            ^~~~~~~~~~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:283:12: error:
> ‘add_pointer_t’ has not been declared in ‘std’
>    283 | using std::add_pointer_t;
>        |            ^~~~~~~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:287:12: error:
> ‘make_signed_t’ has not been declared in ‘std’
>    287 | using std::make_signed_t;
>        |            ^~~~~~~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:289:12: error:
> ‘make_unsigned_t’ has not been declared in ‘std’
>    289 | using std::make_unsigned_t;
>        |            ^~~~~~~~~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:293:12: error:
> ‘remove_extent_t’ has not been declared in ‘std’
>    293 | using std::remove_extent_t;
>        |            ^~~~~~~~~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:295:12: error:
> ‘remove_all_extents_t’ has not been declared in ‘std’
>    295 | using std::remove_all_extents_t;
>        |            ^~~~~~~~~~~~~~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:299:12: error: ‘decay_t’
> has not been declared in ‘std’
>    299 | using std::decay_t;
>        |            ^~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:301:12: error:
> ‘enable_if_t’ has not been declared in ‘std’
>    301 | using std::enable_if_t;
>        |            ^~~~~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:303:12: error:
> ‘conditional_t’ has not been declared in ‘std’
>    303 | using std::conditional_t;
>        |            ^~~~~~~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:305:12: error:
> ‘common_type_t’ has not been declared in ‘std’
>    305 | using std::common_type_t;
>        |            ^~~~~~~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:307:12: error:
> ‘underlying_type_t’ has not been declared in ‘std’
>    307 | using std::underlying_type_t;
>        |            ^~~~~~~~~~~~~~~~~
> /usr/include/boost/math/tools/type_traits.hpp:402:60: error: ‘is_final’
> is not a member of ‘boost::math’; did you mean ‘is_final_v’?
>    402 | BOOST_MATH_INLINE_CONSTEXPR bool is_final_v =
> boost::math::is_final<T>::value;
>        |
> ^~~~~~~~
>        |
> is_final_v
> /usr/include/boost/math/tools/type_traits.hpp:402:70: error: expected
> primary-expression before ‘>’ token
>    402 | BOOST_MATH_INLINE_CONSTEXPR bool is_final_v =
> boost::math::is_final<T>::value;
>        |
>       ^
> /usr/include/boost/math/tools/type_traits.hpp:402:73: error: ‘::value’
> has not been declared
>    402 | BOOST_MATH_INLINE_CONSTEXPR bool is_final_v =
> boost::math::is_final<T>::value;
>        |
>          ^~~~~
> [ 75%] Building CXX object
> dolfin/CMakeFiles/dolfin.dir/mesh/BoundaryComputation.cpp.o
> cd "/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/dolfin" && /usr/bin/c++
> -DDOLFIN_VERSION=\"2019.2.0.64.dev0\" -DHAS_CHOLMOD -DHAS_HDF5 -DHAS_MPI
> -DHAS_PETSC -DHAS_SCOTCH -DHAS_SLEPC -DHAS_UMFPACK -DHAS_ZLIB -DNDEBUG
> -Ddolfin_EXPORTS -I"/<<PKGBUILDDIR>>"
> -I"/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu" -isystem
> /usr/lib/python3/dist-packages/ffc/backends/ufc -isystem
> /usr/include/eigen3 -isystem /usr/include/hdf5/openmpi -isystem
> /usr/include/suitesparse -isystem /usr/include/scotch -isystem
> /usr/lib/x86_64-linux-gnu/openmpi/include -isystem
> /usr/lib/x86_64-linux-gnu/openmpi/include/openmpi -isystem
> /usr/lib/slepcdir/slepc3.22/x86_64-linux-gnu-real/include -isystem
> /usr/lib/petscdir/petsc3.22/x86_64-linux-gnu-real/include -fpermissive
> -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
> -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong
> -fstack-clash-protection -Wformat -Werror=format-security
> -fcf-protection
> -fdebug-prefix-map=/<<PKGBUILDDIR>>=/usr/src/dolfin-2019.2.0~legacy20240219.1c52e83-19
>
> -Wdate-time -D_FORTIFY_SOURCE=3 -O2 -g -DNDEBUG -std=c++11 -fPIC -MD -MT
> dolfin/CMakeFiles/dolfin.dir/mesh/BoundaryComputation.cpp.o -MF
> CMakeFiles/dolfin.dir/mesh/BoundaryComputation.cpp.o.d -o
> CMakeFiles/dolfin.dir/mesh/BoundaryComputation.cpp.o -c
> "/<<PKGBUILDDIR>>/dolfin/mesh/BoundaryComputation.cpp"
> In file included from
> /usr/include/boost/math/special_functions/gamma.hpp:30,
>                   from
> /usr/include/boost/math/special_functions/factorials.hpp:17,
>                   from
> /usr/include/boost/math/special_functions/legendre.hpp:17:
> /usr/include/boost/math/special_functions/trunc.hpp:324:44: error:
> ‘enable_if_t’ in namespace ‘boost::math’ does not name a template type;
> did you mean ‘enable_if’?
>    324 | BOOST_MATH_GPU_ENABLED inline
> boost::math::enable_if_t<boost::math::is_constructible_v<int, T>, int>
>        |                                            ^~~~~~~~~~~
>        |                                            enable_if
> /usr/include/boost/math/special_functions/trunc.hpp:331:44: error:
> ‘enable_if_t’ in namespace ‘boost::math’ does not name a template type;
> did you mean ‘enable_if’?
>    331 | BOOST_MATH_GPU_ENABLED inline
> boost::math::enable_if_t<!boost::math::is_constructible_v<int, T>, int>
>        |                                            ^~~~~~~~~~~
>        |                                            enable_if
> /usr/include/boost/math/special_functions/trunc.hpp:339:44: error:
> ‘enable_if_t’ in namespace ‘boost::math’ does not name a template type;
> did you mean ‘enable_if’?
>    339 | BOOST_MATH_GPU_ENABLED inline
> boost::math::enable_if_t<boost::math::is_constructible_v<long, T>, long>
>        |                                            ^~~~~~~~~~~
>        |                                            enable_if
> /usr/include/boost/math/special_functions/trunc.hpp:346:44: error:
> ‘enable_if_t’ in namespace ‘boost::math’ does not name a template type;
> did you mean ‘enable_if’?
>    346 | BOOST_MATH_GPU_ENABLED inline
> boost::math::enable_if_t<!boost::math::is_constructible_v<long, T>, long>
>        |                                            ^~~~~~~~~~~
>        |                                            enable_if
> /usr/include/boost/math/special_functions/trunc.hpp:354:44: error:
> ‘enable_if_t’ in namespace ‘boost::math’ does not name a template type;
> did you mean ‘enable_if’?
>    354 | BOOST_MATH_GPU_ENABLED inline
> boost::math::enable_if_t<boost::math::is_constructible_v<long long, T>,
> long long>
>        |                                            ^~~~~~~~~~~
>        |                                            enable_if
> /usr/include/boost/math/special_functions/trunc.hpp:361:53: error:
> ‘enable_if_t’ in namespace ‘boost::math’ does not name a template type;
> did you mean ‘enable_if’?
>    361 | BOOST_MATH_GPU_ENABLED inline typename
> boost::math::enable_if_t<!boost::math::is_constructible_v<long long, T>,
> long long>
>        |                                                     ^~~~~~~~~~~
>        |                                                     enable_if
> /usr/include/boost/math/special_functions/trunc.hpp:361:64: error:
> expected unqualified-id before ‘<’ token
>    361 | BOOST_MATH_GPU_ENABLED inline typename
> boost::math::enable_if_t<!boost::math::is_constructible_v<long long, T>,
> long long>
>        |                                                                ^
> /usr/include/boost/math/special_functions/trunc.hpp:369:76: error:
> ‘enable_if_t’ in namespace ‘boost::math’ does not name a template type;
> did you mean ‘enable_if’?
>    369 | BOOST_MATH_GPU_ENABLED [[deprecated("Use llconvert")]] inline
> boost::math::enable_if_t<boost::math::is_constructible_v<long long, T>,
> long long>
>        |
>             ^~~~~~~~~~~
>        |
>             enable_if
> /usr/include/boost/math/special_functions/trunc.hpp:376:85: error:
> ‘enable_if_t’ in namespace ‘boost::math’ does not name a template type;
> did you mean ‘enable_if’?
>    376 | BOOST_MATH_GPU_ENABLED [[deprecated("Use llconvert")]] inline
> typename boost::math::enable_if_t<!boost::math::is_constructible_v<long
> long, T>, long long>
>        |
>                      ^~~~~~~~~~~
>        |
>                      enable_if
> /usr/include/boost/math/special_functions/trunc.hpp:376:96: error:
> expected unqualified-id before ‘<’ token
>    376 | BOOST_MATH_GPU_ENABLED [[deprecated("Use llconvert")]] inline
> typename boost::math::enable_if_t<!boost::math::is_constructible_v<long
> long, T>, long long>
>        |
>                                 ^
> In file included from
> /usr/include/boost/math/special_functions/detail/polygamma.hpp:24,
>                   from
> /usr/include/boost/math/special_functions/polygamma.hpp:15,
>                   from
> /usr/include/boost/math/special_functions/gamma.hpp:42:
> /usr/include/boost/math/special_functions/pow.hpp:126:79: error:
> redeclaration ‘constexpr typename
> boost::math::tools::promote_args<T2>::type boost::math::pow(T, const
> Policy&)’ differs in ‘constexpr’ from previous declaration
>    126 | BOOST_MATH_GPU_ENABLED constexpr inline typename
> tools::promote_args<T>::type pow(T base, const Policy& policy)
>        |
>                ^~~
> /usr/include/boost/math/special_functions/math_fwd.hpp:1173:79: note:
> previous declaration ‘boost::math::tools::promote_args_t<T>
> boost::math::pow(T, const Policy&)’
>   1173 |    BOOST_MATH_GPU_ENABLED BOOST_MATH_CXX14_CONSTEXPR
> tools::promote_args_t<T> pow(T base, const Policy& policy);
>        |
>                ^~~
> /usr/include/boost/math/special_functions/pow.hpp:133:79: error:
> redeclaration ‘constexpr typename
> boost::math::tools::promote_args<T2>::type boost::math::pow(T)’ differs
> in ‘constexpr’ from previous declaration
>    133 | BOOST_MATH_GPU_ENABLED constexpr inline typename
> tools::promote_args<T>::type pow(T base)
>        |
>                ^~~
> /usr/include/boost/math/special_functions/math_fwd.hpp:1176:79: note:
> previous declaration ‘boost::math::tools::promote_args_t<T>
> boost::math::pow(T)’
>   1176 |    BOOST_MATH_GPU_ENABLED BOOST_MATH_CXX14_CONSTEXPR
> tools::promote_args_t<T> pow(T base);
>        |
>                ^~~
> /usr/include/boost/math/tools/promotion.hpp: In instantiation of ‘struct
> boost::math::tools::promote_args_permissive<long double, long double>’:
> /usr/include/boost/math/tools/promotion.hpp:105:16:   required from
> ‘struct boost::math::tools::promote_args_permissive<long double, long
> double, long double>’
>    105 |          using type = typename pa2_integral_already_removed<
>        |                ^~~~
> /usr/include/boost/math/tools/promotion.hpp:119:16:   required from
> ‘struct boost::math::tools::promote_args<long double, long double, long
> double>’
>    119 |          using type = typename
> promote_args_permissive<Args...>::type;
>        |                ^~~~
> /usr/include/boost/math/tools/promotion.hpp:129:13:   required by
> substitution of ‘template<class ... Args> using
> boost::math::tools::promote_args_t = typename
> boost::math::tools::promote_args::type [with Args = {long double, long
> double, long double}]’
>    129 |       using promote_args_t = typename promote_args<Args...>::type;
>        |             ^~~~~~~~~~~~~~
> /usr/include/boost/math/special_functions/legendre.hpp:28:4:   required
> by substitution of ‘template<class T1, class T2, class T3>
> boost::math::tools::promote_args_t<RT1, RT2, A>
> boost::math::legendre_next(unsigned int, T1, T2, T3) [with T1 = long
> double; T2 = long double; T3 = long double]’
>     28 |    legendre_next(unsigned l, T1 x, T2 Pl, T3 Plm1)
>        |    ^~~~~~~~~~~~~
> /usr/include/boost/math/special_functions/legendre.hpp:69:53:   required
> from ‘T boost::math::detail::legendre_imp(unsigned int, T, const
> Policy&, bool) [with T = long double; Policy =
> boost::math::policies::policy<boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy>]’
>     69 |       p1 = static_cast<T>(boost::math::legendre_next(n, x, p0,
> p1));
>        |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
> /usr/include/boost/math/special_functions/legendre.hpp:233:88:
> required from ‘typename
> std::enable_if<boost::math::policies::is_policy<Policy>::value, typename
> boost::math::tools::promote_args<T>::type>::type
> boost::math::legendre_p(int, T, const Policy&) [with T = double; Policy
> = policies::policy<policies::default_policy, policies::default_policy,
> policies::default_policy, policies::default_policy,
> policies::default_policy, policies::default_policy,
> policies::default_policy, policies::default_policy,
> policies::default_policy, policies::default_policy,
> policies::default_policy>; typename
> std::enable_if<policies::is_policy<Policy>::value, typename
> tools::promote_args<T>::type>::type = double; typename
> tools::promote_args<T>::type = double]’
>    233 |       return policies::checked_narrowing_cast<result_type,
> Policy>(detail::legendre_imp(-l-1, static_cast<value_type>(x), pol,
> false), function);
>        |
>     ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/boost/math/special_functions/legendre.hpp:254:34:
> required from ‘boost::math::tools::promote_args_t<RT>
> boost::math::legendre_p(int, T) [with T = double;
> tools::promote_args_t<RT> = double]’
>    254 |    return boost::math::legendre_p(l, x, policies::policy<>());
>        |           ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /<<PKGBUILDDIR>>/dolfin/math/Legendre.cpp:35:33:   required from here
>     35 |   return boost::math::legendre_p(n, x);
>        |          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
> /usr/include/boost/math/tools/promotion.hpp:105:16: error: no type named
> ‘type’ in ‘struct boost::math::tools::pa2_integral_already_removed<long
> double, long double, true>’
>    105 |          using type = typename pa2_integral_already_removed<
>        |                ^~~~
> /usr/include/boost/math/special_functions/legendre.hpp: In instantiation
> of ‘T boost::math::detail::legendre_imp(unsigned int, T, const Policy&,
> bool) [with T = long double; Policy =
> boost::math::policies::policy<boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy>]’:
> /usr/include/boost/math/special_functions/legendre.hpp:233:88:
> required from ‘typename
> std::enable_if<boost::math::policies::is_policy<Policy>::value, typename
> boost::math::tools::promote_args<T>::type>::type
> boost::math::legendre_p(int, T, const Policy&) [with T = double; Policy
> = policies::policy<policies::default_policy, policies::default_policy,
> policies::default_policy, policies::default_policy,
> policies::default_policy, policies::default_policy,
> policies::default_policy, policies::default_policy,
> policies::default_policy, policies::default_policy,
> policies::default_policy>; typename
> std::enable_if<policies::is_policy<Policy>::value, typename
> tools::promote_args<T>::type>::type = double; typename
> tools::promote_args<T>::type = double]’
>    233 |       return policies::checked_narrowing_cast<result_type,
> Policy>(detail::legendre_imp(-l-1, static_cast<value_type>(x), pol,
> false), function);
>        |
>     ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/boost/math/special_functions/legendre.hpp:254:34:
> required from ‘boost::math::tools::promote_args_t<RT>
> boost::math::legendre_p(int, T) [with T = double;
> tools::promote_args_t<RT> = double]’
>    254 |    return boost::math::legendre_p(l, x, policies::policy<>());
>        |           ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /<<PKGBUILDDIR>>/dolfin/math/Legendre.cpp:35:33:   required from here
>     35 |   return boost::math::legendre_p(n, x);
>        |          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
> /usr/include/boost/math/special_functions/legendre.hpp:69:53: error: no
> matching function for call to ‘legendre_next(unsigned int&, long
> double&, long double&, long double&)’
>     69 |       p1 = static_cast<T>(boost::math::legendre_next(n, x, p0,
> p1));
>        |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
> /usr/include/boost/math/special_functions/legendre.hpp:69:53: note:
> there are 2 candidates
> /usr/include/boost/math/special_functions/legendre.hpp:28:4: note:
> candidate 1: ‘template<class T1, class T2, class T3>
> boost::math::tools::promote_args_t<RT1, RT2, A>
> boost::math::legendre_next(unsigned int, T1, T2, T3)’
>     28 |    legendre_next(unsigned l, T1 x, T2 Pl, T3 Plm1)
>        |    ^~~~~~~~~~~~~
> /usr/include/boost/math/special_functions/legendre.hpp:28:4: note:
> substitution of deduced template arguments resulted in errors seen above
> /usr/include/boost/math/special_functions/legendre.hpp:299:4: note:
> candidate 2: ‘template<class T1, class T2, class T3>
> boost::math::tools::promote_args_t<RT1, RT2, A>
> boost::math::legendre_next(unsigned int, unsigned int, T1, T2, T3)’
>    299 |    legendre_next(unsigned l, unsigned m, T1 x, T2 Pl, T3 Plm1)
>        |    ^~~~~~~~~~~~~
> /usr/include/boost/math/special_functions/legendre.hpp:299:4: note:
> candidate expects 5 arguments, 4 provided
> /usr/include/boost/math/special_functions/legendre.hpp: In instantiation
> of ‘T boost::math::detail::legendre_p_imp(int, int, T, T, const Policy&)
> [with T = long double; Policy =
> boost::math::policies::policy<boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy>]’:
> /usr/include/boost/math/special_functions/legendre.hpp:368:25:
> required from ‘T boost::math::detail::legendre_p_imp(int, int, T, const
> Policy&) [with T = long double; Policy =
> boost::math::policies::policy<boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy>]’
>    368 |    return legendre_p_imp(l, m, x, static_cast<T>(pow(1 - x*x,
> T(abs(m))/2)), pol);
>        |
> ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/boost/math/special_functions/legendre.hpp:379:87:
> required from ‘boost::math::tools::promote_args_t<RT>
> boost::math::legendre_p(int, int, T, const Policy&) [with T = double;
> Policy = policies::policy<policies::default_policy,
> policies::default_policy, policies::default_policy,
> policies::default_policy, policies::default_policy,
> policies::default_policy, policies::default_policy,
> policies::default_policy, policies::default_policy,
> policies::default_policy, policies::default_policy>;
> tools::promote_args_t<RT> = double]’
>    379 |    return policies::checked_narrowing_cast<result_type,
> Policy>(detail::legendre_p_imp(l, m, static_cast<value_type>(x), pol),
> "boost::math::legendre_p<%1%>(int, int, %1%)");
>        |
> ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/boost/math/special_functions/legendre.hpp:386:34:
> required from ‘boost::math::tools::promote_args_t<RT>
> boost::math::legendre_p(int, int, T) [with T = double;
> tools::promote_args_t<RT> = double]’
>    386 |    return boost::math::legendre_p(l, m, x, policies::policy<>());
>        |           ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /<<PKGBUILDDIR>>/dolfin/math/Legendre.cpp:41:34:   required from here
>     41 |   return -boost::math::legendre_p(n, 1, x)/(std::sqrt(1.0 - x*x));
>        |           ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
> /usr/include/boost/math/special_functions/legendre.hpp:335:46: error: no
> matching function for call to ‘tgamma_ratio(long double, long double,
> const
> boost::math::policies::policy<boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy,
> boost::math::policies::default_policy>&)’
>    335 |       return sign *
> boost::math::tgamma_ratio(static_cast<T>(l+m+1), static_cast<T>(l+1-m),
> pol) * legendre_p_imp(l, -m, x, sin_theta_power, pol);
>        |
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/boost/math/special_functions/legendre.hpp:335:46: note:
> there are 2 candidates
> /usr/include/boost/math/special_functions/gamma.hpp:2514:4: note:
> candidate 1: ‘template<class T1, class T2>
> boost::math::tools::promote_args_t<RT1, RT2>
> boost::math::tgamma_ratio(T1, T2)’
>   2514 |    tgamma_ratio(T1 a, T2 b)
>        |    ^~~~~~~~~~~~
> /usr/include/boost/math/special_functions/gamma.hpp:2514:4: note:
> candidate expects 2 arguments, 3 provided
> /usr/include/boost/math/special_functions/gamma.hpp:2499:4: note:
> candidate 2: ‘template<class T1, class T2, class Policy>
> boost::math::tools::promote_args_t<RT1, RT2>
> boost::math::tgamma_ratio(T1, T2, const Policy&)’
>   2499 |    tgamma_ratio(T1 a, T2 b, const Policy&)
>        |    ^~~~~~~~~~~~
> /usr/include/boost/math/special_functions/gamma.hpp:2499:4: note:
> template argument deduction/substitution failed:
> /usr/include/boost/math/special_functions/legendre.hpp:357:38: error: no
> matching function for call to ‘legendre_next(int&, int&, long double&,
> long double&, long double&)’
>    357 |       p1 = boost::math::legendre_next(n, m, x, p0, p1);
>        |            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
> /usr/include/boost/math/special_functions/legendre.hpp:357:38: note:
> there are 2 candidates
> /usr/include/boost/math/special_functions/legendre.hpp:28:4: note:
> candidate 1: ‘template<class T1, class T2, class T3>
> boost::math::tools::promote_args_t<RT1, RT2, A>
> boost::math::legendre_next(unsigned int, T1, T2, T3)’
>     28 |    legendre_next(unsigned l, T1 x, T2 Pl, T3 Plm1)
>        |    ^~~~~~~~~~~~~
> /usr/include/boost/math/special_functions/legendre.hpp:28:4: note:
> candidate expects 4 arguments, 5 provided
> /usr/include/boost/math/special_functions/legendre.hpp:299:4: note:
> candidate 2: ‘template<class T1, class T2, class T3>
> boost::math::tools::promote_args_t<RT1, RT2, A>
> boost::math::legendre_next(unsigned int, unsigned int, T1, T2, T3)’
>    299 |    legendre_next(unsigned l, unsigned m, T1 x, T2 Pl, T3 Plm1)
>        |    ^~~~~~~~~~~~~
> /usr/include/boost/math/special_functions/legendre.hpp:299:4: note:
> template argument deduction/substitution failed:
> make[4]: *** [dolfin/CMakeFiles/dolfin.dir/build.make:2462:
> dolfin/CMakeFiles/dolfin.dir/math/Legendre.cpp.o] Error 1
> make[4]: *** Waiting for unfinished jobs....
> make[4]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
> make[3]: *** [CMakeFiles/Makefile2:1888:
> dolfin/CMakeFiles/dolfin.dir/all] Error 2
> make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
> make[2]: *** [Makefile:149: all] Error 2
> make[2]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
> dh_auto_build: error: cd obj-x86_64-linux-gnu && make -j4
> "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2
> make[1]: *** [debian/rules:256: override_dh_auto_build] Error 25
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> make: *** [debian/rules:213: binary] Error 2
> dpkg-buildpackage: error: debian/rules binary subprocess returned exit
> status 2
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20250911/6169c93c/attachment-0001.htm>


More information about the debian-science-maintainers mailing list