Conditional Support for SuperLU-Dist ------------------------------------ In principle dolfin supports SuperLU-Dist. However the superlu-dist package distributed by Debian is mostly useless since mc64, one of its core functions, cannot legally be redistributed and so has been removed from the Debian package. For this reason, we have given preference to mumps over superlu_dist. You may specify superlu_dist if desired (or if you have a local build of superlu_dist that includes mc64), for instance with solve(a == L, u, bc, solver_parameters={'linear_solver': 'superlu_dist'}) You may also successfully use superlu_dist without mc64 by specifying C++: PETScOptions::set("-mat_superlu_dist_rowperm", "NATURAL"); Python: PETScOptions.set('-mat_superlu_dist_rowperm', 'NATURAL') Performance will likely be reduced. The same problem applies to superlu, from which mc64 has also been removed. superlu still functions successfully however (mc64 is not core for the serial version of SuperLU).