[Dune] parmetis not found, am a bit puzzled
Aleksejs Fomins
aleksejs.fomins at lspr.ch
Fri Mar 6 16:54:28 CET 2015
Dear Dune,
I would like to emphasize that this same code works on my pc.
The cmake/modules/DuneCurvilineargrid.cmake does have the line
find_package(ParMETIS)
I will also forward you the c-make file from the tutorial directory which is being used
Hope this helps,
Aleksejs
On 06/03/15 16:48, Benedikt Oswald wrote:
> Dear Dune, I am struggling with finding ParMETIS also I specify it the
> very same way as Aleksejs does it.
> I probably just oversee a small little detail,but would appreciate a
> hint on it.
>
> My opts look like this:
>
> USE_CMAKE=yes
>
> CONFIGURE_FLAGS="--enable-parallel --enable-experimental-grid-extensions
> CC=mpicc CXX=mpicxx"
>
> CMAKE_PREFIX_PATH="\
> /opt/extlib/boost/1.57.0/gcc/4.9.2;\
> /opt/extlib/parmetis/4.0.3/openmpi/1.8.4/gcc/4.9.2;\
> /opt/extlib/parmetis/4.0.3/openmpi/1.8.4/gcc/4.9.2/lib;\
> /opt/extlib/metis/5.1.0/gcc/4.9.2;\
> /opt/extlib/superludist/3.3/openmpi/1.8.4/gcc/4.9.2;\
> /opt/extlib/superludist/3.3/openmpi/1.8.4/gcc/4.9.2/SRC;\
> /opt/extlib/superludist/3.3/openmpi/1.8.4/gcc/4.9.2/lib;\
> "
>
>
>
> ## define gcc options - nota bene: -O2 and -g2 cause gcc 4.9.2 to crash
> but -O2 alone works !
> GXX_OPT=""
> GXX_WARNING_OPT="-Wall -pedantic"
> GXX_OPTIMIZATION_OPT="-O2"
>
>
> ## define superludist paths & library
> SUPERLU_DIST_OPTS="-DHAVE_SUPERLU_DIST"
> SUPERLU_DIST_INCLUDE_PATH="-I/opt/extlib/parmetis/4.0.3/openmpi/1.8.4/gcc/4.9.2/include
> -I/opt/extlib/metis/5.1.0/gcc/4.9.2/include
> -I/opt/extlib/superludist/3.3/openmpi/1.8.4/gcc/4.9.2/SRC"
> SUPERLU_DIST_LIBRARY="-L/opt/extlib/superludist/3.3/openmpi/1.8.4/gcc/4.9.2/lib
> -lsuperludist -L/opt/extlib/parmetis/4.0.3/openmpi/1.8.4/gcc/4.9.2/lib
> -lparmetis -L/opt/extlib/metis/5.1.0/gcc/4.9.2/lib -lmetis -framework
> Accelerate"
>
>
>
>
> CMAKE_FLAGS="\
> -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.4/gcc/4.9.2/lib
> -L/opt/extlib/parmetis/4.0.3/openmpi/1.8.4/gcc/4.9.2/lib
> -L/opt/extlib/metis/5.1.0/gcc/4.9.2/lib' \
> -DMY_WEIRD_LIBS='superludist;parmetis;metis' \
> -DCMAKE_CXX_FLAGS=\"$GXX_WARNING_OPT $GXX_OPT $SUPERLU_DIST_INCLUDE_PATH
> \" \
> -DPARMETIS_ROOT="/opt/extlib/parmetis/4.0.3/openmpi/1.8.4/gcc/4.9.2" \
> -DCMAKE_LIBRARY_PATH:RELEASE=\"/opt/extlib/boost/1.57.0/gcc/4.9.2/lib\" \
> -DCMAKE_LIBRARY_PATH:DEBUG=\"/opt/extlib/boost/1.57.0/gcc/4.9.2/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 \
>
>
>
>
>
> =================================
> and then it happens like this,namely METIS is found but not ParMETIS,
> cf. output below:
>
>
>
>
> -- Looking for metis.h
> -- Looking for metis.h - found
> -- Looking for METIS_PartGraphKway
> -- Looking for METIS_PartGraphKway - found
> -- Found METIS: /opt/extlib/metis/5.1.0/gcc/4.9.2/include
> -- Looking for parmetis.h
> -- Looking for parmetis.h - not found
> -- Could NOT find ParMETIS (missing: PARMETIS_LIBRARY HAVE_PARMETIS)
>
>
> =========
> odysseus:hades-dune oswald$ uname -a
> Darwin odysseus.local 14.1.0 Darwin Kernel Version 14.1.0: Mon Dec 22 23:10:38 PST 2014; root:xnu-2782.10.72~2/RELEASE_X86_64 x86_64
>
> Dune is latest trunk from this afternoon.
>
> Greetings & thanks, Benedikt
>
>
>
>
>
> ------------------------------------------------------------------------------------------------
> Dr. sc. techn. Benedikt Oswald - first engineer - LSPR AG - phone - +41 43 366 90 74
> Technoparkstrasse 1, CH-8005 Zürich, benedikt.oswald at lspr.ch - labor vincit omnia improbus
> ------------------------------------------------------------------------------------------------
>
>
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune
>
-------------- next part --------------
# Define variable with path to the grids to be used in the code
add_definitions("-DDUNE_CURVILINEARGRID_EXAMPLE_GRIDS_PATH=\"${PROJECT_SOURCE_DIR}/doc/grids/\"")
# Define tests to be run
set(TESTS
tutorial1gettingstarted
tutorial2traversal
tutorial3visualisation
)
add_executable(tutorial1gettingstarted tutorial1gettingstarted.cc)
add_executable(tutorial2traversal tutorial2traversal.cc)
add_executable(tutorial3visualisation tutorial3visualisation.cc)
target_link_libraries(tutorial1gettingstarted dunecommon dunegeometry dunegrid) # dunecurvilineargeometry
target_link_libraries(tutorial2traversal dunecommon dunegeometry dunegrid) # dunecurvilineargeometry
target_link_libraries(tutorial3visualisation dunecommon dunegeometry dunegrid) # dunecurvilineargeometry
# We do not want want to build the tests during make all,
# but just build them on demand
add_directory_test_target(_test_target)
add_dependencies(${_test_target} ${TESTS})
foreach(_test ${TESTS})
add_test(${_test} ${_test})
endforeach(_test ${TESTS})
# Add parmetis
if(HAVE_MPI)
add_dune_mpi_flags(tutorial1gettingstarted)
add_dune_mpi_flags(tutorial2traversal)
add_dune_mpi_flags(tutorial3visualisation)
add_dune_parmetis_flags(tutorial1gettingstarted)
add_dune_parmetis_flags(tutorial2traversal)
add_dune_parmetis_flags(tutorial3visualisation)
endif(HAVE_MPI)
# Add boost
if(Boost_FOUND)
target_link_libraries(tutorial1gettingstarted ${Boost_LIBRARIES})
target_link_libraries(tutorial2traversal ${Boost_LIBRARIES})
target_link_libraries(tutorial3visualisation ${Boost_LIBRARIES})
endif()
More information about the Dune
mailing list