Linking problem when trying to install PaStiX
I am trying to install PaStiX using cmake as a part of a bigger project. I am on Ubuntu 18.04.4 LTS. I set up the dependencies using
sudo apt-get install cmake gcc gfortran libhwloc-dev libscotch-dev libopenblas-dev liblapacke-dev python-numpy
Here are the cmake options that I am using.
'
if(ENABLE_PASTIX)
cache_package_cmake_config_dir(EBC-Project EBC)
ExternalProject_Add(lapacke
GIT_REPOSITORY https://github.com/Reference-LAPACK/lapack.git
GIT_TAG origin/master
INSTALL_DIR ${STAGED_INSTALL_PREFIX}
CMAKE_ARGS
-DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DLAPACKE=ON
-DCBLAS=ON
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
-DCMAKE_INSTALL_MESSAGE=${CMAKE_INSTALL_MESSAGE}
CMAKE_CACHE_ARGS
-DCMAKE_MODULE_PATH:PATH=${CMAKE_MODULE_PATH}
-DEBC_COMPILE_DEFINITIONS:STRING=${EBC_COMPILE_DEFINITIONS}
-DINSTALL_LIBDIR:PATH=${INSTALL_LIBDIR}
-DINSTALL_BINDIR:PATH=${INSTALL_BINDIR}
-DINSTALL_INCLUDEDIR:PATH=${INSTALL_INCLUDEDIR}
-DINSTALL_MODDIR:PATH=${INSTALL_MODDIR}
-DEBC_DIR:PATH=${EBC_DIR}
)
ExternalProject_Add(pastix
GIT_REPOSITORY https://gitlab.inria.fr/solverstack/pastix.git
GIT_TAG origin/master
INSTALL_DIR ${STAGED_INSTALL_PREFIX}
CMAKE_ARGS
-DUPDATE_DISCONNECTED=${PASTIX_NOUPDATE}
-DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_C_STANDARD=99
-DPASTIX_WITH_FORTRAN=ON
-DPASTIX_WITH_MPI=ON
-DPASTIX_ORDERING_SCOTCH=ON
-DPASTIX_INT64=OFF
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
-DCMAKE_INSTALL_MESSAGE=${CMAKE_INSTALL_MESSAGE}
CMAKE_CACHE_ARGS
-DCMAKE_MODULE_PATH:PATH=${CMAKE_MODULE_PATH}
-DEBC_COMPILE_DEFINITIONS:STRING=${EBC_COMPILE_DEFINITIONS}
-DINSTALL_LIBDIR:PATH=${INSTALL_LIBDIR}
-DINSTALL_BINDIR:PATH=${INSTALL_BINDIR}
-DINSTALL_INCLUDEDIR:PATH=${INSTALL_INCLUDEDIR}
-DINSTALL_MODDIR:PATH=${INSTALL_MODDIR}
-DEBC_DIR:PATH=${EBC_DIR}
DEPENDS lapacke
)
'
Build fails with the following message:
'
[ 88%] Built target pastix_lrtests
[ 88%] Linking C executable d_rradd_tests
libpastix_lrtests.so: undefined reference to 'LAPACKE_dlatms_work'
libpastix_lrtests.so: undefined reference to 'LAPACKE_slatms_work'
libpastix_lrtests.so: undefined reference to 'LAPACKE_clatms_work'
libpastix_lrtests.so: undefined reference to 'LAPACKE_zlatms_work'
collect2: error: ld returned 1 exit status
test/CMakeFiles/d_rradd_tests.dir/build.make:121: recipe for target 'test/d_rradd_tests' failed
make[5]: *** [test/d_rradd_tests] Error 1
CMakeFiles/Makefile2:2166: recipe for target 'test/CMakeFiles/d_rradd_tests.dir/all' failed
make[4]: *** [test/CMakeFiles/d_rradd_tests.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make[3]: *** [all] Error 2
CMakeFiles/pastix.dir/build.make:112: recipe for target 'subprojects/Stamp/pastix/pastix-build' failed
make[2]: *** [subprojects/Stamp/pastix/pastix-build] Error 2
CMakeFiles/Makefile2:196: recipe for target 'CMakeFiles/pastix.dir/all' failed
make[1]: *** [CMakeFiles/pastix.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
'