Dear Amber community,
I am trying to compile AmberMD with the -mpi flag enabled on an Intel
Haswell Cray XC40 using Cray compilers. I am using MPICH
(cray-mpich/7.7.10). Take a look at my compilers:
> jj358817.nid00392:~/MM/amber/amber/amber20_src/build> which cc
> /opt/cray/pe/craype/2.6.1/bin/cc
> jj358817.nid00392:~/MM/amber/amber/amber20_src/build> which CC
> /opt/cray/pe/craype/2.6.1/bin/CC
> jj358817.nid00392:~/MM/amber/amber/amber20_src/build> which ftn
> /opt/cray/pe/craype/2.6.1/bin/ftn
Moreover cc, CC and ftn are all MPI wrappers (i.e. I can compile MPI
code using them just fine).
The cmake flags I'm using (amber20_src/build/run_cmake) look like this
(as far as I understand I had to pass -DMPI_C_LIBRARIES and
-DMPI_C_INCLUDE_PATH to MPICH directories so cc, CC and ftn are properly
recognised as MPI wrappers):
> cmake $AMBER_PREFIX/amber20_src \
> -DCMAKE_INSTALL_PREFIX=$AMBER_PREFIX/amber20 \
> -DCOMPILER=CRAY \
> -DMPI=TRUE -DCUDA=FALSE -DINSTALL_TESTS=TRUE
> -DMPI_C_LIBRARIES=/opt/cray/pe/mpt/7.7.10/gni/mpich-crayclang/9.0/lib/
> -DMPI_C_INCLUDE_PATH=/opt/cray/pe/mpt/7.7.10/gni/mpich-crayclang/9.0/include/
> \
> -DDOWNLOAD_MINICONDA=TRUE -DMINICONDA_USE_PY3=TRUE
> -DCMAKE_VERBOSE_MAKEFILE=TRUE \
> 2>&1 | tee cmake.log
When I do ./run_cmake in that directory I get:
> jj358817.nid00392:~/MM/amber/amber/amber20_src/build> ./run_cmake
> --
> **************************************************************************
> -- Starting configuration of Amber version 20.0.0...
> -- CMake Version: 3.10.2
> -- For how to use this build system, please read this wiki:
> -- http://ambermd.org/pmwiki/pmwiki.php/Main/CMake
> -- For a list of important CMake variables, check here:
> -- http://ambermd.org/pmwiki/pmwiki.php/Main/CMake-Common-Options
> --
> **************************************************************************
> -- Amber source not found, only building AmberTools
> -- Cray Programming Environment 2.6.1 Fortran
> -- Testing if stdlib.h can be included...
> -- Testing if stdlib.h can be included... yes
> WARNING: Target "cmTC_e0684" requests linking to directory
> "/opt/cray/pe/mpt/7.7.10/gni/mpich-crayclang/9.0/lib/". Targets may
> link only to libraries. CMake is dropping the item.
> -- MPI C Compiler: /opt/cray/pe/craype/2.6.1/bin/cc
> -- MPI CXX Compiler: /opt/cray/pe/craype/2.6.1/bin/CC
> -- MPI Fortran Compiler: /opt/cray/pe/craype/2.6.1/bin/ftn
> -- If these are not the correct MPI wrappers, then set
> MPI_<language>_COMPILER to the correct wrapper and reconfigure.
> CMake Error at cmake/LibraryTracking.cmake:174 (message):
> Incorrect usage. At least one LIBRARY should be provided.
> Call Stack (most recent call first):
> cmake/MPIConfig.cmake:122 (import_libraries)
> CMakeLists.txt:118 (include)
The error message "Incorrect usage. At least one LIBRARY should be
provided." is undescriptive. :( I tried to hunt down the cause of that
error by myself trying to debug cmake/LibraryTracking.cmake but failed
as I am new to CMake. I am stuck now. Can you please guide me in
resolving that problem?
Best regards,
Jakub
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Mon Jul 27 2020 - 15:30:03 PDT