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 <[email protected]> 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 >

