[Dune] SuperLUDist can't find parmetis

Aleksejs Fomins aleksejs.fomins at lspr.ch
Tue Oct 27 17:07:05 CET 2015


Dear Dune,

After the latest git pull in dune-common, I get a linker error our code Hades3D

[  9%] Linking CXX executable hades3ddgfdx
/opt/extlib/superludist/3.3/openmpi/1.10.0/gcc/5.2.0/lib/libsuperludist.a(get_perm_c.o): In function `get_metis':
get_perm_c.c:(.text+0x55): undefined reference to `METIS_NodeND'
/opt/extlib/superludist/3.3/openmpi/1.10.0/gcc/5.2.0/lib/libsuperludist.a(get_perm_c_parmetis.o): In function `get_perm_c_parmetis':
get_perm_c_parmetis.c:(.text+0x1b86): undefined reference to `ParMETIS_V3_NodeND'

indicating that Parmetis is not found by SuperLUDist. However, Parmetis is found by CMAKE, and the flags for SuperLUDist seem to be in order. I note that this very code worked no problem before the pull

Could you please suggest if there was something in the last updates that could have caused this issue?

I attach the opts file I am using.

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.59.0/gcc/5.2.0;\
/opt/extlib/parmetis/4.0.3/openmpi/1.10.0/gcc/5.2.0;\
/opt/extlib/metis/5.1.0/gcc/5.2.0;\
/opt/extlib/superludist/3.3/openmpi/1.10.0/gcc/5.2.0;\
/opt/extlib/superludist/3.3/openmpi/1.10.0/gcc/5.2.0/SRC;\
/opt/extlib/superludist/3.3/openmpi/1.10.0/gcc/5.2.0/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.10.0/gcc/5.2.0 -I/opt/extlib/metis/5.1.0/gcc/5.2.0/include -I/opt/extlib/superludist/3.3/openmpi/1.10.0/gcc/5.2.0/SRC"
SUPERLU_DIST_LIBRARY="-L/opt/extlib/superludist/3.3/openmpi/1.10.0/gcc/5.2.0/lib -L/opt/extlib/parmetis/4.0.3/openmpi/1.10.0/gcc/5.2.0/lib -L/opt/extlib/metis/5.1.0/gcc/5.2.0/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/5.2.0\" \
-DPARMETIS_ROOT=\"/opt/extlib/parmetis/4.0.3/openmpi/1.10.0/gcc/5.2.0\" \
-DSUPERLUDIST_ROOT=\"/opt/extlib/superludist/3.3/openmpi/1.10.0/gcc/5.2.0\" \
-DCMAKE_LIBRARY_PATH:RELEASE=\"/opt/extlib/boost/1.59.0/gcc/5.2.0/lib\" \
-DCMAKE_LIBRARY_PATH:DEBUG=\"/opt/extlib/boost/1.59.0/gcc/5.2.0/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.10.0/gcc/5.2.0/lib -L/opt/extlib/parmetis/4.0.3/openmpi/1.10.0/gcc/5.2.0/lib -L/opt/extlib/metis/5.1.0/gcc/5.2.0/lib' \


More information about the Dune mailing list