This is a read only copy of the old FEniCS QA forum. Please visit the new QA forum to ask questions

installation on Debian - compilation of dolfin

0 votes

I've tried to compile Dolfin under Debian 7.8 including Umfpack and got the following error message:

/home/mptashnyk/Downloads/dolfin-1.5.0/dolfin/la/UmfpackLUSolver.cpp: In
static member function ‘static std::shared_ptr
dolfin::UmfpackLUSolver::umfpack_factorize_symbolic(std::size_t,
std::size_t, const size_t*, const size_t*, const double)’:
/home/mptashnyk/Downloads/dolfin-1.5.0/dolfin/la/UmfpackLUSolver.cpp:322:42:
error: ‘SuiteSparse_long’ was not declared in this scope
/home/mptashnyk/Downloads/dolfin-1.5.0/dolfin/la/UmfpackLUSolver.cpp:324:11:
error: ‘SuiteSparse_long’ does not name a type
/home/mptashnyk/Downloads/dolfin-1.5.0/dolfin/la/UmfpackLUSolver.cpp:325:11:
error: ‘SuiteSparse_long’ does not name a type
/home/mptashnyk/Downloads/dolfin-1.5.0/dolfin/la/UmfpackLUSolver.cpp:326:49:
error: ‘_Ap’ was not declared in this scope
/home/mptashnyk/Downloads/dolfin-1.5.0/dolfin/la/UmfpackLUSolver.cpp:326:54:
error: ‘_Ai’ was not declared in this scope
/home/mptashnyk/Downloads/dolfin-1.5.0/dolfin/la/UmfpackLUSolver.cpp: In
static member function ‘static std::shared_ptr
dolfin::UmfpackLUSolver::umfpack_factorize_numeric(const size_t
, const
size_t*, const double*, void)’:
/home/mptashnyk/Downloads/dolfin-1.5.0/dolfin/la/UmfpackLUSolver.cpp:366:42:
error: ‘SuiteSparse_long’ was not declared in this scope
/home/mptashnyk/Downloads/dolfin-1.5.0/dolfin/la/UmfpackLUSolver.cpp:368:11:
error: ‘SuiteSparse_long’ does not name a type
/home/mptashnyk/Downloads/dolfin-1.5.0/dolfin/la/UmfpackLUSolver.cpp:369:11:
error: ‘SuiteSparse_long’ does not name a type
/home/mptashnyk/Downloads/dolfin-1.5.0/dolfin/la/UmfpackLUSolver.cpp:370:33:
error: ‘_Ap’ was not declared in this scope
/home/mptashnyk/Downloads/dolfin-1.5.0/dolfin/la/UmfpackLUSolver.cpp:370:38:
error: ‘_Ai’ was not declared in this scope
/home/mptashnyk/Downloads/dolfin-1.5.0/dolfin/la/UmfpackLUSolver.cpp: In
static member function ‘static void
dolfin::UmfpackLUSolver::umfpack_solve(const size_t
, const size_t*, const
double*, double*, const double*, void*)’:
/home/mptashnyk/Downloads/dolfin-1.5.0/dolfin/la/UmfpackLUSolver.cpp:409:42:
error: ‘SuiteSparse_long’ was not declared in this scope
/home/mptashnyk/Downloads/dolfin-1.5.0/dolfin/la/UmfpackLUSolver.cpp:411:11:
error: ‘SuiteSparse_long’ does not name a type
/home/mptashnyk/Downloads/dolfin-1.5.0/dolfin/la/UmfpackLUSolver.cpp:412:11:
error: ‘SuiteSparse_long’ does not name a type
/home/mptashnyk/Downloads/dolfin-1.5.0/dolfin/la/UmfpackLUSolver.cpp:413:43:
error: ‘_Ap’ was not declared in this scope
/home/mptashnyk/Downloads/dolfin-1.5.0/dolfin/la/UmfpackLUSolver.cpp:413:48:
error: ‘_Ai’ was not declared in this scope
make[2]: *** [dolfin/CMakeFiles/dolfin.dir/la/UmfpackLUSolver.cpp.o] Error 1
make[1]: *** [dolfin/CMakeFiles/dolfin.dir/all] Error 2
make: *** [all] Error 2

I do the usual cmake in a separate building directory following the
instructions on the FEniCS website. Without Umfpack, however, the compilation
works fine. It is not clear to me at this point if the error is in my
installation of the libraries, which I did using my package manager, or in
the Dolfin source files. Any help would be appreciated.

asked Jan 15, 2015 by bseguin FEniCS Novice (650 points)

1 Answer

0 votes

DOLFIN has switched from UF_long to SuiteSparse_long because UF_long has been deprecated for a while and now replaced with SuiteSparse_long in recent versions of SuiteSparse. You should either upgrade to a more recent version of Suitesparse or you could replace SuiteSparse_long with UF_long in dolfin/la/CholmodCholeskySolver.cpp and dolfin/la/UmfpackLUSolver.cpp.

answered Jan 16, 2015 by johannr FEniCS Expert (17,350 points)
...