Sundials support no longer seems functional:
/mnt/storage/archie/aur/deal-ii/src/dealii-9.5.2/source/sundials/ida.cc:428:7: note: candidate is: ‘constexpr dealii::SUNDIALS::IDA<dealii::Vector<double> >::reset(double, double, dealii::Vector<double>&, dealii::Vector<double>&)::<lambda(int, int, N_Vector, N_Vector, N_Vector, SUNMatrix, void*, N_Vector, N_Vector, N_Vector)>::operator int (*)(int, int, N_Vector, N_Vector, N_Vector, SUNMatrix, void*, N_Vector, N_Vector, N_Vector)() const’ (near match)
428 | [](realtype tt,
| ^
/mnt/storage/archie/aur/deal-ii/src/dealii-9.5.2/source/sundials/ida.cc:428:7: note: no known conversion from ‘int (*)(int, int, N_Vector, N_Vector, N_Vector, SUNMatrix, void*, N_Vector, N_Vector, N_Vector)’ {aka ‘int (*)(int, int, _generic_N_Vector*, _generic_N_Vector*, _generic_N_Vector*, _generic_SUNMatrix*, void*, _generic_N_Vector*, _generic_N_Vector*, _generic_N_Vector*)’} to ‘IDALsJacFn’ {aka ‘int (*)(double, double, _generic_N_Vector*, _generic_N_Vector*, _generic_N_Vector*, _generic_SUNMatrix*, void*, _generic_N_Vector*, _generic_N_Vector*, _generic_N_Vector*)’}
/usr/include/idas/idas_ls.h:90:59: note: initializing argument 2 of ‘int IDASetJacFn(void*, IDALsJacFn)’
90 | SUNDIALS_EXPORT int IDASetJacFn(void* ida_mem, IDALsJacFn jac);
| ~~~~~~~~~~~^~~
/mnt/storage/archie/aur/deal-ii/src/dealii-9.5.2/source/sundials/ida.cc: In instantiation of ‘void dealii::SUNDIALS::IDA<VectorType>::reset(double, double, VectorType&, VectorType&) [with VectorType = dealii::BlockVector<double>]’:
/mnt/storage/archie/aur/deal-ii/src/dealii-9.5.2/source/sundials/ida.cc:522:18: required from here
522 | template class IDA<BlockVector<double>>;
| ^~~~~~~~~~~~~~~~~~~~~~~~
/mnt/storage/archie/aur/deal-ii/src/dealii-9.5.2/source/sundials/ida.cc:230:7: error: invalid user-defined conversion from ‘dealii::SUNDIALS::IDA<dealii::BlockVector<double> >::reset(double, double, dealii::BlockVector<double>&, dealii::BlockVector<double>&)::<lambda(int, N_Vector, N_Vector, N_Vector, void*)>’ to ‘IDAResFn’ {aka ‘int (*)(double, _generic_N_Vector*, _generic_N_Vector*, _generic_N_Vector*, void*)’} [-fpermissive]
230 | [](realtype tt, N_Vector yy, N_Vector yp, N_Vector rr, void *user_data)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231 | -> int {
| ~~~~~~~~
232 | IDA<VectorType> &solver = *static_cast<IDA<VectorType> *>(user_data);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
233 |
|
234 | auto *src_yy = internal::unwrap_nvector_const<VectorType>(yy);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
235 | auto *src_yp = internal::unwrap_nvector_const<VectorType>(yp);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
236 | auto *residual = internal::unwrap_nvector<VectorType>(rr);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
237 |
|
238 | return Utilities::call_and_possibly_capture_exception(
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
239 | solver.residual,
| ~~~~~~~~~~~~~~~~
240 | solver.pending_exception,
| ~~~~~~~~~~~~~~~~~~~~~~~~~
241 | tt,
| ~~~
242 | *src_yy,
| ~~~~~~~~
243 | *src_yp,
| ~~~~~~~~
244 | *residual);
| ~~~~~~~~~~~
245 | },
Pinned Comments
drwells commented on 2023-07-18 15:16 (UTC)
I updated to 9.5.1 and made Trilinos a required dependency to avoid the conflict. Once the Trilinos package is updated to include
provides=('kokkos')
then we can switch this back and make kokkos the (correct) dependency.