[Dune] dune-istl does not find parmetis

Aleksejs Fomins aleksejs.fomins at lspr.ch
Thu Sep 3 19:08:19 CEST 2015


Dear Dune,

I am sorry to return to this question again, but it seems to haunt me.

Say I want to compile dune-istl with parmetis using the attached opts
file. The parmetis is not found by cmake, and the error is:
#include<metis.h> - file not found

I have checked that this problem can be solved by copying metis.h into
the parmetis include directory next to parmetis.h. But this is clearly
not the desired solution.

I suspect the error must be either in my opts file, or in the way Dune
handles ParMetis detection. In particular, when I look at cmake log, the
part where it detects ParMetis, it does not explicitly pass the path to
Metis, with is clearly required

Building C object CMakeFiles/cmTC_cb568.dir/CheckIncludeFile.c.o
/opt/extlib/openmpi/1.8.7/gcc/4.8.4/bin/mpicc
-I/opt/extlib/openmpi/1.8.7/gcc/4.8.4/include
-I/opt/extlib/parmetis/4.0.3/openmpi/1.8.7/gcc/4.8.4/include    -o
CMakeFiles/cmTC_cb568.dir/CheckIncludeFile.c.o   -c
/home/fomins/gitwork/hades-lspr-ag/dune-istl/build-cmake/CMakeFiles/CMakeTmp/CheckIncludeFile.c

Would you be so kind to take a look at this problem?

Regards,
Aleksejs
-------------- next part --------------
#################################################################################################################
## objective - opts file for building curvilineargrid, based on Dune, with cmake
##
## history - 2014 apr 16, created
##
## usage - time ./dune-common/bin/dunecontrol --use-cmake --opts=af.debian7.lsprag.cmakebuild.minimalistic.opts all
##
##################################################################################################################


USE_CMAKE=yes

CONFIGURE_FLAGS="--enable-parallel --enable-experimental-grid-extensions CC=mpicc CXX=mpicxx" 

CMAKE_PREFIX_PATH="\
/opt/extlib/boost/1.58.0/gcc/4.8.4;\
/opt/extlib/parmetis/4.0.3/openmpi/1.8.7/gcc/4.8.4;\
/opt/extlib/metis/5.1.0/gcc/4.8.4;\
/opt/extlib/superludist/3.3/openmpi/1.8.7/gcc/4.8.4;\
/opt/extlib/superludist/3.3/openmpi/1.8.7/gcc/4.8.4/SRC;\
/opt/extlib/superludist/3.3/openmpi/1.8.7/gcc/4.8.4/lib;\
"

GXX_WARNING_OPTS="-Wall -pedantic" 
GXX_OPTS="-O0 -g3" 

## define superludist paths & library
SUPERLU_DIST_OPTS="-DHAVE_SUPERLU_DIST"
SUPERLU_DIST_INCLUDE_PATH="-I/opt/extlib/parmetis/4.0.3/openmpi/1.8.7/gcc/4.8.4 -I/opt/extlib/metis/5.1.0/gcc/4.8.4/include -I/opt/extlib/superludist/3.3/openmpi/1.8.7/gcc/4.8.4/SRC"
SUPERLU_DIST_LIBRARY="-L/opt/extlib/superludist/3.3/openmpi/1.8.7/gcc/4.8.4/lib -L/opt/extlib/parmetis/4.0.3/openmpi/1.8.7/gcc/4.8.4/lib -L/opt/extlib/metis/5.1.0/gcc/4.8.4/lib -framework Accelerate"


CMAKE_FLAGS=" \
-DHADES_FLAGS=\" -DHAVE_DEBUG -DHAVE_PARMETIS -DHAVE_CURVGRID\" \
-DCMAKE_CXXFLAGS=\"$GXX_WARNING_OPTS $GXX_OPTS $SUPERLU_DIST_INCLUDE_PATH \" \
-DMETIS_ROOT=\"/opt/extlib/metis/5.1.0/gcc/4.8.4\" \
-DPARMETIS_ROOT=\"/opt/extlib/parmetis/4.0.3/openmpi/1.8.7/gcc/4.8.4\" \
-DSUPERLUDIST_ROOT=\"/opt/extlib/superludist/3.3/openmpi/1.8.7/gcc/4.8.4\" \
-DCMAKE_LIBRARY_PATH:RELEASE=\"/opt/extlib/boost/1.58.0/gcc/4.8.4/lib\" \
-DCMAKE_LIBRARY_PATH:DEBUG=\"/opt/extlib/boost/1.58.0/gcc/4.8.4/lib\" \
-DCMAKE_STANDARD_LIBRARIES:RELEASE=\"-lboost_system -lprogram_options\" \
-DCMAKE_STANDARD_LIBRARIES:DEBUG=\"-lboost_system -lprogram_options\" \
-DCMAKE_PREFIX_PATH=\"$CMAKE_PREFIX_PATH\" \
-DDUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS:BOOL=TRUE \
-DCMAKE_SHARED_LINKER_FLAGS=\"-lzlib\" \
" 



# -DMY_WEIRD_FLAGS='-DHAVE_SUPERLU_DIST -DBOOST_LOG_DYN_LINK -DHAVE_DEBUG' \
# -DMY_WEIRD_LIB_PATH='-L/opt/extlib/superludist/3.3/openmpi/1.8.7/gcc/4.8.4/lib -L/opt/extlib/parmetis/4.0.3/openmpi/1.8.7/gcc/4.8.4/lib -L/opt/extlib/metis/5.1.0/gcc/4.8.4/lib' \


More information about the Dune mailing list