Hi all,
Happy New Year!
In the past, I've used candi and homebrew successfully on the mac (Sierra 10.2) to install v8.5.1. Now trying to install 9.0.0-pre on 10.3, I've run into a CMake issue.
I am trying to install deal.II master on High Sierra with XCode (Version 9.2 (9C40b)) and Apple LLVM version 9.0.0 (clang-900.0.39.2). I'm using CMake 3.10.1.
The configuration fails on setting up MPI. I have tried with both open-mpi and mpich (--force uninstalling between, so 1 mpi implementation at a time).
One form of the relevant error message is below:
-----------------------------------------------
-- Include /Users/dhilbert/dev-deal.ii-candi/tmp/unpack/deal.II-master/cmake/configure/configure_1_mpi.cmake
-- Performing Test MPI_HAVE_MPI_SEEK_SET
-- Performing Test MPI_HAVE_MPI_SEEK_SET - Success
-- Found MPI_MPI_H
-- MPI_VERSION: 3.1
-- MPI_LIBRARIES: /usr/local/Cellar/mpich/3.2.1/lib/libmpicxx.dylib;/usr/local/Cellar/mpich/3.2.1/lib/libmpi.dylib;/usr/local/Cellar/mpich/3.2.1/lib/libpmpi.dylib;/usr/local/lib/libmpi.dylib
-- MPI_INCLUDE_DIRS: *** Required variable "MPI_CXX_INCLUDE_PATH" empty ***
-- MPI_USER_INCLUDE_DIRS: *** Required variable "MPI_CXX_INCLUDE_PATH" empty ***
-- MPI_CXX_FLAGS: -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX -D_MPICC_H
-- MPI_LINKER_FLAGS: -Wl,-flat_namespace -Wl,-commons,use_dylibs
-- Could NOT find MPI
-- DEAL_II_WITH_MPI has unmet external dependencies.
CMake Error at cmake/configure/configure_1_mpi.cmake:77 (MESSAGE):
Could not find any suitable mpi library!
Please ensure that an mpi library is installed on your computer
and set CMAKE_CXX_COMPILER to the appropriate mpi wrappers:
$ CXX=".../mpicxx" cmake <...>
$ cmake -DCMAKE_CXX_COMPILER=".../mpicxx" <...>
Or with additional C and Fortran wrappers (recommended!):
$ CC=".../mpicc" CXX=".../mpicxx" F90=".../mpif90" cmake <...>
$ cmake -DCMAKE_C_COMPILER=".../mpicc"\
-DCMAKE_CXX_COMPILER=".../mpicxx"\
-DCMAKE_Fortran_COMPILER=".../mpif90"\
<...>
Call Stack (most recent call first):
/Users/dhilbert/dev-deal.ii-candi/tmp/build/deal.II-master/CMakeFiles/CMakeTmp/evaluate_expression.tmp:1 (FEATURE_MPI_ERROR_MESSAGE)
cmake/macros/macro_evaluate_expression.cmake:30 (INCLUDE)
cmake/macros/macro_configure_feature.cmake:267 (EVALUATE_EXPRESSION)
cmake/configure/configure_1_mpi.cmake:94 (CONFIGURE_FEATURE)
cmake/macros/macro_verbose_include.cmake:19 (INCLUDE)
CMakeLists.txt:124 (VERBOSE_INCLUDE)
---------------------------------------------------------
It has certainly found the mpicc/cxx/f compiler wrappers. It finds some of the MPI Libraries, though it says the CXX_INCLUDE_PATH is unset. It says this despite my having tried to set the CMakeCache variable explicitly with
~/dev-deal.ii-candi/tmp/build/deal.II-master$ cmake -DMPI_INCLUDE_DIRS="/usr/local/Cellar/mpich/3.2.1/include/" -DMPI_CXX_INCLUDE_PATH="/usr/local/Cellar/mpich/3.2.1/include/" .
I've tried changing MPI_CXX_SKIP_MPICXX to On or Off (but I don't really know what that flag means).
Could it be a cmake macro issue on the new version of the OS? Or have I missed something? Dependencies with mpi like p4est, petsc, trilinos have installed fine.
Thanks for the help!
Best,
Sean