I think that GCC and older version of clang were exporting these automatically from the instanciation of Caribou's solver which inherits from EigenSolver<EigenType>, for example:
template <class EigenSolver_t>
class LDLTSolver : public EigenSolver<typename EigenSolver_t::MatrixType> {}
// (...)
extern template class LDLTSolver<Eigen::SimplicialLDLT<Eigen::SparseMatrix<FLOATING_POINT_TYPE, Eigen::ColMajor, int>, Eigen::Lower, Eigen::AMDOrdering<int>>>
This PR forces the instanciation and export of the missing symbols, which seems to do the trick.
Seems like recent version of Clang compiler were not exporting the following EigenSolver symbols:
I think that GCC and older version of clang were exporting these automatically from the instanciation of Caribou's solver which inherits from
EigenSolver<EigenType>
, for example:This PR forces the instanciation and export of the missing symbols, which seems to do the trick.
/cc @fredroy