[Dune] Problem linking parmetis with cmake

Aleksejs Fomins aleksejs.fomins at lspr.ch
Wed Nov 26 16:01:28 CET 2014


Hi Marcus,

Your suggestion helped partially. After

> dune-curvilineargeometry/cmake/modules/DuneCurvilineargeometry.cmake:
>
> find_package(ParMETIS)

the ParMetis module is found. However, the compilation error is still
the same. I will analyse the compilation output and get back to you.

Best,
Aleksejs

On 11/26/2014 03:40 PM, Markus Blatt wrote:
> Hi,
> 
> On Wed, Nov 26, 2014 at 03:271;2802;0c:37PM +0100, Markus Blatt wrote:
>> I have the strong suspicion that ParMetis is never searched for.
>> You are using dune-alugrid and dune-grid with its dependencies.
>> dune-alugrid should search for ParMETIS, but it seems like with CMake
>> it never does.
> 
> Confirmed. dune-alugrid does not use ParMETIS. There even seems to a
> bug in the cmake buildsystem as it does not search for METIS while
> autotools do.
> 
> Ergo you have to put the following into
> dune-curvilineargeometry/cmake/modules/DuneCurvilineargeometry.cmake: 
> 
> find_package(ParMETIS)
> 
> BTW: A few days ago I suggested another find_package call. Please make
> sure that is in the same file, as then downstream module will issue
> the find call automatically.
> 
> Cheers,
> 
> Markus
> 
> 
> 
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune
> 
-------------- next part --------------
----- using default flags $CONFIGURE_FLAGS from /home/fomins/gitwork/hades-github-lspr-ag/af.debian7.lsprag.cmakebuild.minimalistic.opts -----
--- going to build dune-curvilineargrid  ---
--- calling all for dune-curvilineargrid ---
--- calling vcsetup for dune-curvilineargrid ---
--- calling autogen for dune-curvilineargrid ---
Skipping dune-autogen because of CMake
--- calling configure for dune-curvilineargrid ---
----- using default flags $CONFIGURE_FLAGS from /home/fomins/gitwork/hades-github-lspr-ag/af.debian7.lsprag.cmakebuild.minimalistic.opts -----
/home/fomins/gitwork/hades-github-lspr-ag/dune-geometry/lib/dunegeometryam2cmake.lib for converting options does not exist
/home/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargeometry/lib/dunecurvilineargeometryam2cmake.lib for converting options does not exist
/home/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/lib/dunecurvilineargridam2cmake.lib for converting options does not exist
 CXX=mpicxx CC=mpicc cmake -DCMAKE_MODULE_PATH=""  -DUSE_MPI=ON "-Ddune-common_DIR=/home/fomins/gitwork/hades-github-lspr-ag/dune-common/build-cmake" "-Ddune-geometry_DIR=/home/fomins/gitwork/hades-github-lspr-ag/dune-geometry/build-cmake" "-Ddune-curvilineargeometry_DIR=/home/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargeometry/build-cmake" -DENABLE_EXPERIMENTAL_GRID_EXTENSIONS:BOOL=TRUE "-Ddune-grid_DIR=/home/fomins/gitwork/hades-github-lspr-ag/dune-grid/build-cmake" "-Ddune-alugrid_DIR=/home/fomins/gitwork/hades-github-lspr-ag/dune-alugrid/build-cmake" CXXFLAGS="-Wall -pedantic -O0 -g2" -DPARMETIS_ROOT=/opt/extlib/parmetis/4.0.3/openmpi/1.8.1/gcc/4.9.0 -DCMAKE_PREFIX_PATH="/opt/extlib/boost/1.55.0/gcc/4.9.0;/opt/extlib/parmetis/4.0.3/openmpi/1.8.1/gcc/4.9.0;/opt/extlib/metis/5.1.0/gcc/4.9.0;" -DDUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS:BOOL=TRUE "/home/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid"
-- Dependencies for dune-curvilineargrid: dune-common;dune-geometry;dune-curvilineargeometry;dune-grid;dune-alugrid
-- Dependencies for dune-geometry: dune-common (>= 2.4)
-- Dependencies for dune-curvilineargeometry: dune-common;dune-geometry
-- Dependencies for dune-grid: dune-common (>= 2.4);dune-geometry (>= 2.4)
-- Dependencies for dune-alugrid: dune-grid (>= 2.3)
-- Dependencies for dune-grid: dune-common (>= 2.4);dune-geometry (>= 2.4)
-- Dependencies for dune-geometry: dune-common (>= 2.4)
-- Dependencies for dune-geometry: dune-common (>= 2.4)
-- Dependencies for dune-geometry: dune-common (>= 2.4)
-- I could not find the latex2html command.
-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE) 
-- Performing tests specific to dune-common from file /home/fomins/gitwork/hades-github-lspr-ag/dune-common/cmake/modules/DuneCommonMacros.cmake.
-- A library with BLAS API found.
-- A library with LAPACK API found.
-- Could NOT find GMP (missing:  GMP_INCLUDE_DIR GMP_LIB GMPXX_LIB GMP_HEADER_WORKS GMPXX_LIB_WORKS) 
-- Setting dune-common_INCLUDE_DIRS=/home/fomins/gitwork/hades-github-lspr-ag/dune-common
-- Setting dune-common_LIBRARIES=dunecommon
-- Setting dune-geometry_INCLUDE_DIRS=/home/fomins/gitwork/hades-github-lspr-ag/dune-geometry
-- Setting dune-geometry_LIBRARIES=dunegeometry
-- Performing tests specific to dune-grid from file /home/fomins/gitwork/hades-github-lspr-ag/dune-grid/cmake/modules/DuneGridMacros.cmake.
-- checking for module 'alugrid'
--   package 'alugrid' not found
-- checking for module 'alugrid'
--   package 'alugrid' not found
-- Could NOT find ALUGrid (missing:  ALUGRID_VERSION ALUGRID_INCLUDE_PATH ALUGRID_LIB ALUGRID_LIB_PATH ALULIB_FUNCTIONAL HAVE_ALUGRID_SERIAL_H) 
CMake Warning at /home/fomins/gitwork/hades-github-lspr-ag/dune-grid/cmake/modules/UseUG.cmake:27 (find_package):
  Could not find a package configuration file provided by "UG" (requested
  version 3.11.0) with any of the following names:

    UGConfig.cmake
    ug-config.cmake

  Add the installation prefix of "UG" to CMAKE_PREFIX_PATH or set "UG_DIR" to
  a directory containing one of the above files.  If "UG" provides a separate
  development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
  /home/fomins/gitwork/hades-github-lspr-ag/dune-grid/cmake/modules/DuneGridMacros.cmake:11 (include)
  /home/fomins/gitwork/hades-github-lspr-ag/dune-common/cmake/modules/DuneMacros.cmake:505 (include)
  /home/fomins/gitwork/hades-github-lspr-ag/dune-common/cmake/modules/DuneMacros.cmake:634 (dune_process_dependency_macros)
  CMakeLists.txt:24 (dune_project)


-- Could NOT find UG (missing:  UG_DIR HAVE_UG) 
-- Could NOT find Grape (missing:  GRAPE_INCLUDE_DIR GRAPE_LIBRARY _GRAPE_LIB_FUNCTIONAL _GRAPE_HEADER_USABLE) 
-- checking for one of the modules 'psurface'
-- checking for module 'psurface'
--   package 'psurface' not found
-- Could NOT find psurface (missing:  PSURFACE_INCLUDE_DIR PSURFACE_LIBRARY) 
-- Could NOT find AmiraMesh (missing:  AMIRAMESH_INCLUDE_DIR AMIRAMESH_LIBRARY) 
-- Setting dune-grid_INCLUDE_DIRS=/home/fomins/gitwork/hades-github-lspr-ag/dune-grid
-- Setting dune-grid_LIBRARIES=dunegrid
-- Performing tests specific to dune-alugrid from file /home/fomins/gitwork/hades-github-lspr-ag/dune-alugrid/cmake/modules/DuneAlugridMacros.cmake.
-- Could NOT find SIONlib (missing:  SIONLIB_INCLUDE_DIR SIONLIB_LIBRARY SIONLIB_HEADER_USABLE SIONLIB_LIB_WORKS SIONLIB_LIB_SIONSER_WORKS) 
-- Could NOT find DLMalloc (missing:  DLMALLOC_INCLUDE_DIR DLMALLOC_SOURCE_USABLE) 
Zoltan Dir: ZOLTAN_INCLUDE_DIR-NOTFOUND
-- Could NOT find ZOLTAN (missing:  ZOLTAN_INCLUDE_DIR ZOLTAN_LIBRARY ZOLTAN_HEADER_USABLE) 
CMake Warning (dev) at /home/fomins/gitwork/hades-github-lspr-ag/dune-alugrid/cmake/modules/DuneAlugridMacros.cmake:49 (message):
  TODO: Improve module test.
Call Stack (most recent call first):
  /home/fomins/gitwork/hades-github-lspr-ag/dune-common/cmake/modules/DuneMacros.cmake:505 (include)
  /home/fomins/gitwork/hades-github-lspr-ag/dune-common/cmake/modules/DuneMacros.cmake:634 (dune_process_dependency_macros)
  CMakeLists.txt:24 (dune_project)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Setting dune-alugrid_INCLUDE_DIRS=/home/fomins/gitwork/hades-github-lspr-ag/dune-alugrid
-- Setting dune-alugrid_LIBRARIES=dunealugrid
-- Performing tests specific to dune-curvilineargeometry from file /home/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargeometry/cmake/modules/DuneCurvilineargeometryMacros.cmake.
-- Setting dune-curvilineargeometry_INCLUDE_DIRS=/home/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargeometry
-- Performing tests specific to dune-curvilineargrid from file /home/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/cmake/modules/DuneCurvilineargridMacros.cmake.
-- Using scripts from /home/fomins/gitwork/hades-github-lspr-ag/dune-common/cmake/scripts for creating doxygen stuff.
-- Adding custom target for config.h generation
-- 
-- The following features have been enabled:

 * Experimental grid extensions , Enables additional grid features.

-- The following OPTIONAL packages have been found:

 * MPI
 * PkgConfig
 * BLAS
 * Threads
 * LAPACK
 * Inkscape
 * X11
 * OpenGL
 * ZLIB
 * ParMETIS

-- The following REQUIRED packages have been found:

 * dune-common
 * dune-geometry
 * dune-curvilineargeometry
 * dune-grid
 * dune-alugrid

-- The following OPTIONAL packages have not been found:

 * LATEX
 * UnixCommands
 * Doxygen
 * GMP
 * ALUGrid
 * Alberta
 * UG (required version >= 3.11.0)
 * Grape
 * Psurface
 * AmiraMesh
 * SIONlib
 * DLMalloc
 * ZOLTAN

-- Configuring done
-- Generating done
-- Build files have been written to: /home/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake
--- calling make for dune-curvilineargrid ---
build directory: build-cmake
make 
[ 50%] Built target dune_curvilineargrid
[100%] Building CXX object dune/curvilineargrid/io/file/test/CMakeFiles/curvilineargmshtest.dir/curvilineargmshtest.cc.o
In file included from /home/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/dune/curvilineargrid/io/file/curvilineargmshreader.hh:42:0,
                 from /home/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/dune/curvilineargrid/io/file/test/curvilineargmshtest.cc:43:
/home/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/dune/curvilineargrid/curvilineargrid/gridfactory.hh:45:22: fatal error: parmetis.h: No such file or directory
 #include <parmetis.h>
                      ^
compilation terminated.
make[2]: *** [dune/curvilineargrid/io/file/test/CMakeFiles/curvilineargmshtest.dir/curvilineargmshtest.cc.o] Error 1
make[1]: *** [dune/curvilineargrid/io/file/test/CMakeFiles/curvilineargmshtest.dir/all] Error 2
make: *** [all] Error 2
--- Failed to build dune-curvilineargrid ---
Terminating dunecontrol due to previous errors!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: OpenPGP digital signature
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20141126/2f45f678/attachment.sig>


More information about the Dune mailing list