GROMACS version: 2020.3
GROMACS modification: No
Hi everyone,
I’m trying to install GROMACS on my MacBook Pro running macOS Mojave 10.14.6. Instead of using clang, I installed the Intel compiler as suggested by the installation guide with this command:
> cmake .. -DGMX_BUILD_OWN_FFTW=ON -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc
But when I use cmake, here’s the output I get:
> -- The C compiler identification is Intel 19.1.2.20200623
>
> -- The CXX compiler identification is Intel 19.1.2.20200623
>
> -- Detecting C compiler ABI info
>
> -- Detecting C compiler ABI info - done
>
> -- Check for working C compiler: /usr/local/bin/icc - skipped
>
> -- Detecting C compile features
>
> -- Detecting C compile features - done
>
> -- Detecting CXX compiler ABI info
>
> -- Detecting CXX compiler ABI info - done
>
> -- Check for working CXX compiler: /usr/local/bin/icpc - skipped
>
> -- Detecting CXX compile features
>
> -- Detecting CXX compile features - done
>
> -- Performing Test USING_LIBSTDCXX
>
> -- Performing Test USING_LIBSTDCXX - Failed
>
> -- Looking for NVIDIA GPUs present in the system
>
> -- Could not detect NVIDIA GPUs
>
> -- No compatible CUDA toolkit found (v5.0+), disabling native GPU acceleration
>
> -- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES)
>
> -- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES)
>
> -- Could NOT find OpenMP (missing: OpenMP_C_FOUND OpenMP_CXX_FOUND)
>
> CMake Warning at cmake/gmxManageOpenMP.cmake:44 (message):
>
> The compiler you are using does not support OpenMP parallelism. This might
>
> hurt your performance a lot, in particular with GPUs. Try using a more
>
> recent version, or a different compiler. For now, we are proceeding by
>
> turning off OpenMP.
>
> Call Stack (most recent call first):
>
> CMakeLists.txt:326 (include)
>
> -- Performing Test CFLAGS_PRAGMA
>
> -- Performing Test CFLAGS_PRAGMA - Success
>
> -- Performing Test CFLAGS_STDGNU
>
> -- Performing Test CFLAGS_STDGNU - Success
>
> -- Performing Test CFLAGS_OPT
>
> -- Performing Test CFLAGS_OPT - Success
>
> -- Performing Test CFLAGS_DEBUG
>
> -- Performing Test CFLAGS_DEBUG - Success
>
> -- Performing Test CFLAGS_FP_MODEL_RELASSERT
>
> -- Performing Test CFLAGS_FP_MODEL_RELASSERT - Success
>
> -- Performing Test CXXFLAGS_PRAGMA
>
> -- Performing Test CXXFLAGS_PRAGMA - Success
>
> -- Performing Test CXXFLAGS_OPT
>
> -- Performing Test CXXFLAGS_OPT - Success
>
> -- Performing Test CXXFLAGS_DEBUG
>
> -- Performing Test CXXFLAGS_DEBUG - Success
>
> -- Performing Test CXXFLAGS_FP_MODEL_RELASSERT
>
> -- Performing Test CXXFLAGS_FP_MODEL_RELASSERT - Success
>
> -- Looking for include file unistd.h
>
> -- Looking for include file unistd.h - not found
>
> -- Looking for include file pwd.h
>
> -- Looking for include file pwd.h - not found
>
> -- Looking for include file dirent.h
>
> -- Looking for include file dirent.h - not found
>
> -- Looking for include file time.h
>
> -- Looking for include file time.h - not found
>
> -- Looking for include file sys/time.h
>
> -- Looking for include file sys/time.h - not found
>
> -- Looking for include file io.h
>
> -- Looking for include file io.h - not found
>
> -- Looking for include file sched.h
>
> -- Looking for include file sched.h - not found
>
> -- Looking for include file xmmintrin.h
>
> -- Looking for include file xmmintrin.h - found
>
> -- Looking for gettimeofday
>
> -- Looking for gettimeofday - not found
>
> -- Looking for sysconf
>
> -- Looking for sysconf - not found
>
> -- Looking for nice
>
> -- Looking for nice - not found
>
> -- Looking for fsync
>
> -- Looking for fsync - not found
>
> -- Looking for _fileno
>
> -- Looking for _fileno - not found
>
> -- Looking for fileno
>
> -- Looking for fileno - not found
>
> -- Looking for _commit
>
> -- Looking for _commit - not found
>
> -- Looking for sigaction
>
> -- Looking for sigaction - not found
>
> -- Performing Test HAVE_BUILTIN_CLZ
>
> -- Performing Test HAVE_BUILTIN_CLZ - Success
>
> -- Performing Test HAVE_BUILTIN_CLZLL
>
> -- Performing Test HAVE_BUILTIN_CLZLL - Success
>
> -- Looking for clock_gettime in rt
>
> -- Looking for clock_gettime in rt - not found
>
> -- Looking for feenableexcept in m
>
> -- Looking for feenableexcept in m - found
>
> -- Looking for fedisableexcept in m
>
> -- Looking for fedisableexcept in m - found
>
> -- Checking for sched.h GNU affinity API
>
> -- Performing Test sched_affinity_compile
>
> -- Performing Test sched_affinity_compile - Failed
>
> -- Looking for include file mm_malloc.h
>
> -- Looking for include file mm_malloc.h - not found
>
> -- Looking for include file malloc.h
>
> -- Looking for include file malloc.h - not found
>
> -- Checking for _mm_malloc()
>
> -- Checking for _mm_malloc() - not supported
>
> -- Looking for posix_memalign
>
> -- Looking for posix_memalign - not found
>
> -- Looking for memalign
>
> -- Looking for memalign - not found
>
> -- Check if the system is big endian
>
> -- Searching 16 bit integer
>
> -- Looking for sys/types.h
>
> -- Looking for sys/types.h - not found
>
> -- Looking for stdint.h
>
> -- Looking for stdint.h - found
>
> -- Looking for stddef.h
>
> -- Looking for stddef.h - found
>
> -- Check size of unsigned short
>
> -- Check size of unsigned short - done
>
> -- Searching 16 bit integer - Using unsigned short
>
> -- Check if the system is big endian - little endian
>
> -- Looking for HWLOC
>
> -- Looking for hwloc_topology_init
>
> -- Looking for hwloc_topology_init - found
>
> -- hwloc version:
>
> -- Found HWLOC: /usr/local/lib/libhwloc.dylib (found suitable version "2.2.0", minimum required is "1.5")
>
> -- Looking for pthread.h
>
> -- Looking for pthread.h - not found
>
> -- Found Threads: TRUE
>
> -- Looking for C++ include pthread.h
>
> -- Looking for C++ include pthread.h - not found
>
> -- Atomic operations not found
>
> -- Performing Test PTHREAD_SETAFFINITY
>
> -- Performing Test PTHREAD_SETAFFINITY - Failed
>
> -- Atomic operations not found
>
> CMake Warning at cmake/ThreadMPI.cmake:130 (message):
>
> Atomic operations not found for this CPU+compiler combination. Thread
>
> support will be unbearably slow: disable threads. Atomic operations should
>
> work on all but the most obscure CPU+compiler combinations; if your system
>
> is not obscure -- like, for example, x86 with gcc -- please contact the
>
> developers.
>
> Call Stack (most recent call first):
>
> CMakeLists.txt:570 (tmpi_enable)
>
> -- Checking for GCC x86 inline asm
>
> -- Checking for GCC x86 inline asm - supported
>
> CMake Warning at cmake/gmxDetectCpu.cmake:96 (message):
>
> CPU detection program did not compile on x86 host - this should never
>
> happen. It is VERY bad for performance, since you will lose all SIMD
>
> support. Please file a bug report.
>
> Call Stack (most recent call first):
>
> cmake/gmxSetBuildInformation.cmake:64 (gmx_run_cpu_detection)
>
> cmake/gmxSetBuildInformation.cmake:72 (gmx_get_build_cpu_string)
>
> CMakeLists.txt:618 (gmx_set_build_information)
>
> -- Disabling RDTSCP support - not detected on the build host
>
> -- Checking for 64-bit off_t
>
> -- Checking for 64-bit off_t - not present
>
> -- Check size of long int
>
> -- Check size of long int - done
>
> -- Checking for SIGUSR1
>
> -- Checking for SIGUSR1 - not found
>
> -- Checking for pipe support
>
> -- Checking for system XDR support
>
> -- Checking for system XDR support - not present
>
> -- Detecting best SIMD instructions for this CPU
>
> -- Detection for best SIMD instructions failed, using SIMD - None
>
> -- SIMD instructions disabled
>
> -- Performing Test _callconv___vectorcall
>
> -- Performing Test _callconv___vectorcall - Failed
>
> -- Performing Test _callconv___regcall
>
> -- Performing Test _callconv___regcall - Success
>
> -- The GROMACS-managed build of FFTW 3 will configure with the following optimizations:
>
> -- Using external FFT library - FFTW3 build managed by GROMACS
>
> -- Looking for sgemm_
>
> -- Looking for sgemm_ - not found
>
> -- Looking for dgemm_
>
> -- Looking for dgemm_ - found
>
> -- Found BLAS: /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Accelerate.framework
>
> -- Looking for cheev_
>
> -- Looking for cheev_ - found
>
> -- A library with LAPACK API found.
>
> -- Checking for dlopen
>
> -- Performing Test HAVE_DLOPEN
>
> -- Performing Test HAVE_DLOPEN - Failed
>
> -- Checking for dlopen - not found
>
> -- dlopen() support for using dynamic plugins for VMD-supported file formats is missing.
>
> -- Not using dynamic plugins (e.g VMD-supported file formats)
>
> -- Using default binary suffix: ""
>
> -- Using default library suffix: ""
>
> -- Could not convert sample image, ImageMagick convert can not be used. A possible way to fix it can be found here: https://alexvanderbist.com/posts/2018/fixing-imagick-error-unauthorized
>
> Traceback (most recent call last):
>
> File "<string>", line 1, in <module>
>
> ImportError: No module named pygments
>
> -- Could NOT find Sphinx (missing: SPHINX_EXECUTABLE pygments) (Required is at least version "1.6.1")
>
> -- Performing Test HAVE_NO_DEPRECATED_COPY
>
> -- Performing Test HAVE_NO_DEPRECATED_COPY - Failed
>
> -- Performing Test HAS_NO_STRINGOP_TRUNCATION
>
> -- Performing Test HAS_NO_STRINGOP_TRUNCATION - Failed
>
> -- Performing Test HAS_NO_UNUSED_MEMBER_FUNCTION
>
> -- Performing Test HAS_NO_UNUSED_MEMBER_FUNCTION - Failed
>
> -- Performing Test HAS_NO_REDUNDANT_MOVE
>
> -- Performing Test HAS_NO_REDUNDANT_MOVE - Failed
>
> -- Performing Test HAS_NO_UNUSED
>
> -- Performing Test HAS_NO_UNUSED - Success
>
> -- Performing Test HAS_NO_UNUSED_PARAMETER
>
> -- Performing Test HAS_NO_UNUSED_PARAMETER - Success
>
> -- Performing Test HAS_NO_MISSING_DECLARATIONS
>
> -- Performing Test HAS_NO_MISSING_DECLARATIONS - Success
>
> -- Performing Test HAS_NO_NULL_CONVERSIONS
>
> -- Performing Test HAS_NO_NULL_CONVERSIONS - Failed
>
> -- Performing Test HAS_DECL_IN_SOURCE
>
> -- Performing Test HAS_DECL_IN_SOURCE - Success
>
> -- Performing Test HAS_NO_CLASS_MEMACCESS
>
> -- Performing Test HAS_NO_CLASS_MEMACCESS - Failed
>
> -- Check if the system is big endian
>
> -- Searching 16 bit integer
>
> -- Searching 16 bit integer - Using unsigned short
>
> -- Check if the system is big endian - little endian
>
> -- Looking for inttypes.h
>
> -- Looking for inttypes.h - not found
>
> -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
>
> -- Doxygen not found. Documentation targets will not be generated.
>
> -- Configuring done
>
> -- Generating done
>
> -- Build files have been written to: /Users/profile1/gromacs-2020.3/build-gromacs
The most glaring issues I see are the one about the Intel compiler not supporting OpenMP and the one about not finding Atomic Operations. How can I fix this?
Thank you!