Suitesparse UMFPACK

Hi
I installed Suitesparse from source on my Ubuntu machine and installed it to /usr/local.
I see libumfpack.so.5.7.6 in /usr/local/lib
I set USE_UMFPACK. ON in ccmake. It configures but also sets a temporary install directory UMFPACK_DIR /home/dow/ngsuite/ngsolve-build/umfpack/install

When I try to make, I get this:

CMake Error at CMakeLists.txt:290 (find_package):
Could not find a package configuration file provided by “suitesparse” with
any of the following names:

suitesparseConfig.cmake
suitesparse-config.cmake

Add the installation prefix of “suitesparse” to CMAKE_PREFIX_PATH or set
“suitesparse_DIR” to a directory containing one of the above files. If
“suitesparse” provides a separate development package or SDK, be sure it
has been installed.

I tried setting CMAKE_PREFIX_PATH and suitesparse_DIR to /usr/local and a few other locations, but keep getting the same error. I can build Ngsolve with USE_UMFPACK OFF.

Thanks!

Hi,

Usually, when you set USE_UMFPACK=ON, UMFPACK is built automatically and linked as static library to NGSolve. Therefore we need a temporary install directory. Linking your own version of UMFPACK is currently not supported.

Concerning the build error we had an issue with Suitesparse/UMFPACK that was resolved last week, see this commit NGSolve Finite Element Library / NGSolve / Commit [479056]

Please check out the latest master and try to build it from scratch again.

Regards,
Matthias

Thanks, Matthias!

I will do as you suggest. Is it correct that liblapack-dev should be installed on my system first? Do you know of any additional dependencies for suitesparse that are not listed on the NGSolve installation page?

Best,
Dow

I uninstalled suitesparse from my system and did a fresh install of the the current source for netgen/ngsolve. I turned on UMFPACK in ccmake and accepted the temp directory for build, but when I tried to make, I did not see suitesparse being cloned or downloaded – I just get the same error as before.

[color=blue]-- Found Netgen: /home/dow/ngsuite/ngsolve-install/lib/cmake/netgen
– Looking for include file dlfcn.h
– Looking for include file dlfcn.h - found
– Looking for abi::__cxa_demangle
– Looking for abi::__cxa_demangle - found
CMake Error at CMakeLists.txt:290 (find_package):
Could not find a package configuration file provided by “suitesparse” with
any of the following names:

suitesparseConfig.cmake
suitesparse-config.cmake

Add the installation prefix of “suitesparse” to CMAKE_PREFIX_PATH or set
“suitesparse_DIR” to a directory containing one of the above files. If
“suitesparse” provides a separate development package or SDK, be sure it
has been installed.

– Configuring incomplete, errors occurred![/color]
If I turn off UMFPACK in ccmake, the build works fine.

Thanks!
Dow

Hi Dow,

I see, that’s indeed a bug that’s only triggered if you configure with ccmake/cmake-gui.
I posted a fix that should be upstream within an hour. As a workaround you can give the option when first calling cmake and avoid using ccmake, like this:

cmake -DUSE_UMFPACK=ON path_to_source_dir

Regards,
Matthias