Skip to content

ISTL unable to locate custom ParMETIS installation on macOS

Summary

I'm not able to make the DUNE CMake configuration find ParMETIS on my macOS system. Can somebody help me?

System configuration

Software Version
macOS 10.14.6
CMake 3.14.5
DUNE 2.6 or latest
METIS 5.1.0
ParMETIS 4.0.3

How I installed METIS and ParMETIS

  1. Install METIS via Homebrew:

    brew install metis
  2. ParMETIS is not available from Homebrew, so I download the source code tarball.

  3. I configure ParMETIS and install it into a custom path according to its installation instructions:

    make config prefix=~/install/parmetis-4.0.3
    make
    make install
  4. I run dunecontrol and add

    -DPARMETIS_ROOT=~/install/parmetis-4.0.3 -DPARMETIS_LIBRARY=~/install/parmetis-4.0.3/lib/libparmetis.a

    to the CMAKE_FLAGS, according to the instructions in the FindParMETIS.cmake module. Omitting either one gives the same overall result.

    The full dunecontrol command reads

    CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Release -DDUNE_PYTHON_VIRTUALENV_SETUP=True -DDUNE_PYTHON_ALLOW_GET_PIP=True -DPYTHON_EXECUTABLE=/usr/local/bin/python3 -DPARMETIS_DIR=~/install/parmetis-4.0.3 -DPARMETIS_LIBRARY=~/install/parmetis-4.0.3/lib/libparmetis.a" ./dune-common/bin/dunecontrol --only=dune-istl all
  5. CMake reports for DUNE ISTL (see the full log below):

    -- Found METIS: /usr/local/include
    -- Looking for parmetis.h
    -- Looking for parmetis.h - not found
    -- Could NOT find ParMETIS (Missing: HAVE_PARMETIS)

Log files

CMake_build_log.txt

CMakeCache.txt

CMakeError.log

Edited by Lukas Riedel