Bug#1110575: still ftbfs with boost 1.88

Matthias Klose doko at debian.org
Tue Sep 9 22:45:50 BST 2025


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



More information about the debian-science-maintainers mailing list