[Dune] Building DUNE with Cmake: SuperLU
lriedel at iup.uni-heidelberg.de
lriedel at iup.uni-heidelberg.de
Wed Jul 22 14:22:06 CEST 2015
Dear Dune Developers,
when switching from the Autotools buildsystem to CMake, I encounter the
problem that the SuperLU package is found but the respective Linear Solver
in the dune-istl package cannot be used.
Using Autotools, I needed to add the SuperLU LIBS, LDFLAGS and CPPFLAGS to
the respective Makefile.am of the project and it would work fine. Do I
need to do something similar when using CMake?
With Autotools I execute
$ ./dune-common/bin/dunecontrol --module=<myproject> --opts=config.opts all
with the opts file containing
CONFIGURE_FLAGS=" --enable-parallel
--with-superlu=$INSTALLDIR/SuperLU_4.3
--with-superlu-lib=libsuperlu_4.3.a
--with-blas=$INSTALLDIR/OpenBLAS/lib/libopenblas.a <...>"
Switching to CMake I execute
$ ./dune-common/bin/dunecontrol --use-cmake --module=<myproject>
--opts=config.opts all
with the opts file containing
CMAKE_FLAGS="-DUSE_MPI=ON -DSUPERLU_ROOT=$INSTALLDIR/SuperLU_4.3
-DBLAS_ROOT=$INSTALLDIR/OpenBLAS/lib/libopenblas.a <...>"
Partial output of configure:
"
-- The following OPTIONAL packages have been found:
* MPI
* Doxygen
* PkgConfig
* LAPACK
* GMP
* UG (required version >= 3.9.1)
* X11
* OpenGL
* CXXTemplateAliases
* CXXDecltype
* GCCTypeof
* Boost
* METIS
* ParMETIS
* SuperLU
* Threads
-- The following REQUIRED packages have been found:
* dune-common
* dune-geometry
* dune-grid
* dune-istl
* dune-localfunctions
* dune-pdelab
* dune-typetree
* BLAS
-- The following features have been disabled:
* Experimental grid extensions , Enables additional grid features.
-- The following OPTIONAL packages have not been found:
* LATEX
* Inkscape
* ALUGrid
* Alberta
* Grape
* Psurface
* AmiraMesh
* BoostFusion
* UMFPack
* PETSc
* CXXUnorderedContainers
-- Configuring done
-- Generating done
"
But when compiling the project, I receive the error
error: 'ISTLBackend_SEQ_SuperLU' in namespace 'Dune::PDELab' does not
name a type
typedef Dune::PDELab::ISTLBackend_SEQ_SuperLU LS;
Do I need to add something specific to the CMAkeLists.txt files?
Thank you in advance and best regards,
Lukas Riedel
More information about the Dune
mailing list