2023.3 Installation Error

GROMACS version: 2023.3
GROMACS modification: No

Am getting the following trying to install 2023.3:

[ 79%] Building CXX object src/gromacs/CMakeFiles/libgromacs.dir/applied_forces/qmmm/qmmmtopologypreprocessor.cpp.o
/apps/u/opt/gcc/11.4.0/gromacs/2023.3/src/gromacs/applied_forces/qmmm/qmmmtopologypreprocessor.cpp: In member function 'void gmx::QMMMTopologyPreprocessor::buildQMMMAtomNumbers(gmx_mtop_t*)':
/apps/u/opt/gcc/11.4.0/gromacs/2023.3/src/gromacs/applied_forces/qmmm/qmmmtopologypreprocessor.cpp:277:17: error: base operand of '->' has non-pointer type 'AtomIterator'
  277 |     while (atoms->globalAtomNumber() < mtop->natoms)
      |                 ^~
/apps/u/opt/gcc/11.4.0/gromacs/2023.3/src/gromacs/applied_forces/qmmm/qmmmtopologypreprocessor.cpp:280:18: error: base operand of '->' has non-pointer type 'AtomIterator'
  280 |         if (atoms->atom().atomnumber < 0)
      |                  ^~
/apps/u/opt/gcc/11.4.0/gromacs/2023.3/src/gromacs/applied_forces/qmmm/qmmmtopologypreprocessor.cpp:285:28: error: base operand of '->' has non-pointer type 'AtomIterator'
  285 |                       atoms->globalAtomNumber());
      |                            ^~
/apps/u/opt/gcc/11.4.0/gromacs/2023.3/src/gromacs/applied_forces/qmmm/qmmmtopologypreprocessor.cpp:288:37: error: base operand of '->' has non-pointer type 'AtomIterator'
  288 |         atomNumbers_.push_back(atoms->atom().atomnumber);
      |                                     ^~
At global scope:
cc1plus: note: unrecognized command-line option '-Wno-cast-function-type-strict' may have been intended to silence earlier diagnostics
make[2]: *** [src/gromacs/CMakeFiles/libgromacs.dir/build.make:9344: src/gromacs/CMakeFiles/libgromacs.dir/applied_forces/qmmm/qmmmtopologypreprocessor.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:4278: src/gromacs/CMakeFiles/libgromacs.dir/all] Error 2
make: *** [Makefile:166: all] Error 2

gcc/11.4.0
openmpi/4.1.5
cuda/11.8.0

[powerman@lorenlog1 build]$ cmake -DCMAKE_INSTALL_PREFIX=/apps/u/opt/gcc/11.4.0/gromacs/2023.2/ -DGMX_MPI=ON -DGMX_GPU=CUDA -DGMX_BUILD_OWN_FFTW=ON -DGMX_BUILD_UNITTESTS=ON -DCMAKE_C_COMPILER=/apps/u/spack/gcc/8.5.0/gcc/11.4.0-dll2s4f/bin/gcc -DCMAKE_CXX_COMPILER=/apps/u/spack/gcc/8.5.0/gcc/11.4.0-dll2s4f/bin/g++ ..
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /apps/u/spack/gcc/8.5.0/gcc/11.4.0-dll2s4f/bin/gcc - 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: /apps/u/spack/gcc/8.5.0/gcc/11.4.0-dll2s4f/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python3: /apps/u/spack/gcc/11.4.0/python/3.11.4-5224qq2/bin/python3.11 (found suitable version "3.11.4", minimum required is "3.7") found components: Interpreter Development Development.Module Development.Embed
-- Selected GPU FFT library - cuFFT
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Performing Test CFLAGS_WARN_NO_MISSING_FIELD_INITIALIZERS
-- Performing Test CFLAGS_WARN_NO_MISSING_FIELD_INITIALIZERS - Success
-- Performing Test CFLAGS_EXCESS_PREC
-- Performing Test CFLAGS_EXCESS_PREC - Success
-- Performing Test CFLAGS_COPT
-- Performing Test CFLAGS_COPT - Success
-- Performing Test CFLAGS_NOINLINE
-- Performing Test CFLAGS_NOINLINE - Success
-- Performing Test CXXFLAGS_WARN_NO_MISSING_FIELD_INITIALIZERS
-- Performing Test CXXFLAGS_WARN_NO_MISSING_FIELD_INITIALIZERS - Success
-- Performing Test CXXFLAGS_EXCESS_PREC
-- Performing Test CXXFLAGS_EXCESS_PREC - Success
-- Performing Test CXXFLAGS_COPT
-- Performing Test CXXFLAGS_COPT - Success
-- Performing Test CXXFLAGS_NOINLINE
-- Performing Test CXXFLAGS_NOINLINE - Success
-- Looking for include file unistd.h
-- Looking for include file unistd.h - found
-- Looking for include file pwd.h
-- Looking for include file pwd.h - found
-- Looking for include file dirent.h
-- Looking for include file dirent.h - found
-- Looking for include file time.h
-- Looking for include file time.h - found
-- Looking for include file sys/time.h
-- Looking for include file sys/time.h - 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 - found
-- Looking for include file xmmintrin.h
-- Looking for include file xmmintrin.h - found
-- Looking for gettimeofday
-- Looking for gettimeofday - found
-- Looking for sysconf
-- Looking for sysconf - found
-- Looking for nice
-- Looking for nice - found
-- Looking for fsync
-- Looking for fsync - found
-- Looking for _fileno
-- Looking for _fileno - not found
-- Looking for fileno
-- Looking for fileno - found
-- Looking for _commit
-- Looking for _commit - not found
-- Looking for sigaction
-- Looking for sigaction - 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 - 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 - Success
-- Looking for include file mm_malloc.h
-- Looking for include file mm_malloc.h - found
-- Looking for include file malloc.h
-- Looking for include file malloc.h - found
-- Checking for _mm_malloc()
-- Checking for _mm_malloc() - supported
-- Looking for posix_memalign
-- Looking for posix_memalign - found
-- Looking for memalign
-- Looking for memalign - not found
-- MPI is not compatible with thread-MPI. Disabling thread-MPI.
-- Found MPI_CXX: /apps/u/opt/gcc/11.4.0/openmpi/4.1.5/lib/libmpi.so (found version "3.1")
-- Found MPI: TRUE (found version "3.1") found components: CXX
-- GROMACS library will use OpenMPI 4.1.5
-- Using default binary suffix: "_mpi"
-- Using default library suffix: "_mpi"
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test TEST_ATOMICS
-- Performing Test TEST_ATOMICS - Success
-- Atomic operations found
-- Performing Test PTHREAD_SETAFFINITY
-- Performing Test PTHREAD_SETAFFINITY - Success
-- Detecting best SIMD instructions for this CPU
-- Checking for GCC x86 inline asm
-- Checking for GCC x86 inline asm - supported
-- Detected build CPU features - aes apic avx clfsh cmov cx8 cx16 f16c htt intel lahf mmx msr nonstop_tsc pcid pclmuldq pdcm pdpe1gb popcnt pse rdrnd rdtscp sse2 sse3 sse4.1 sse4.2 ssse3 tdt x2apic
-- Detected build CPU brand - Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
-- Detected best SIMD instructions for this CPU - AVX_256
-- Performing Test C_mavx_FLAG_ACCEPTED
-- Performing Test C_mavx_FLAG_ACCEPTED - Success
-- Performing Test C_mavx_COMPILE_WORKS
-- Performing Test C_mavx_COMPILE_WORKS - Success
-- Performing Test CXX_mavx_FLAG_ACCEPTED
-- Performing Test CXX_mavx_FLAG_ACCEPTED - Success
-- Performing Test CXX_mavx_COMPILE_WORKS
-- Performing Test CXX_mavx_COMPILE_WORKS - Success
-- Enabling 256-bit AVX SIMD instructions using CXX flags:  -mavx
-- Detecting flags to enable runtime detection of AVX-512 units on newer CPUs
-- Performing Test C_xCORE_AVX512_qopt_zmm_usage_high_FLAG_ACCEPTED
-- Performing Test C_xCORE_AVX512_qopt_zmm_usage_high_FLAG_ACCEPTED - Failed
-- Performing Test C_xCORE_AVX512_FLAG_ACCEPTED
-- Performing Test C_xCORE_AVX512_FLAG_ACCEPTED - Failed
-- Performing Test C_mavx512f_mfma_mavx512vl_mavx512dq_mavx512bw_FLAG_ACCEPTED
-- Performing Test C_mavx512f_mfma_mavx512vl_mavx512dq_mavx512bw_FLAG_ACCEPTED - Success
-- Performing Test C_mavx512f_mfma_mavx512vl_mavx512dq_mavx512bw_COMPILE_WORKS
-- Performing Test C_mavx512f_mfma_mavx512vl_mavx512dq_mavx512bw_COMPILE_WORKS - Success
-- Performing Test CXX_xCORE_AVX512_qopt_zmm_usage_high_FLAG_ACCEPTED
-- Performing Test CXX_xCORE_AVX512_qopt_zmm_usage_high_FLAG_ACCEPTED - Failed
-- Performing Test CXX_xCORE_AVX512_FLAG_ACCEPTED
-- Performing Test CXX_xCORE_AVX512_FLAG_ACCEPTED - Failed
-- Performing Test CXX_mavx512f_mfma_mavx512vl_mavx512dq_mavx512bw_FLAG_ACCEPTED
-- Performing Test CXX_mavx512f_mfma_mavx512vl_mavx512dq_mavx512bw_FLAG_ACCEPTED - Success
-- Performing Test CXX_mavx512f_mfma_mavx512vl_mavx512dq_mavx512bw_COMPILE_WORKS
-- Performing Test CXX_mavx512f_mfma_mavx512vl_mavx512dq_mavx512bw_COMPILE_WORKS - Success
-- Detecting flags to enable runtime detection of AVX-512 units on newer CPUs -  -mavx512f -mfma -mavx512vl -mavx512dq -mavx512bw
-- Performing Test _Wno_unused_command_line_argument_FLAG_ACCEPTED
-- Performing Test _Wno_unused_command_line_argument_FLAG_ACCEPTED - Success
-- Performing Test _callconv___vectorcall
-- Performing Test _callconv___vectorcall - Failed
-- Performing Test _callconv___regcall
-- Performing Test _callconv___regcall - Failed
-- Performing Test _callconv_
-- Performing Test _callconv_  - Success
-- Found CUDA: /apps/u/opt/gcc/11.4.0/cuda/11.8.0 (found suitable version "11.8", minimum required is "11.0")
-- Adding work-around for issue compiling CUDA code with glibc 2.23 string.h
-- Check for working NVCC/C++ compiler combination with nvcc '/apps/u/opt/gcc/11.4.0/cuda/11.8.0/bin/nvcc'
-- Check for working NVCC/C++ compiler combination - works
-- Checking if nvcc accepts flags --generate-code=arch=compute_35,code=sm_35
-- Checking if nvcc accepts flags --generate-code=arch=compute_35,code=sm_35 - Success
-- Checking if nvcc accepts flags --generate-code=arch=compute_37,code=sm_37
-- Checking if nvcc accepts flags --generate-code=arch=compute_37,code=sm_37 - Success
-- Checking if nvcc accepts flags --generate-code=arch=compute_50,code=sm_50
-- Checking if nvcc accepts flags --generate-code=arch=compute_50,code=sm_50 - Success
-- Checking if nvcc accepts flags --generate-code=arch=compute_52,code=sm_52
-- Checking if nvcc accepts flags --generate-code=arch=compute_52,code=sm_52 - Success
-- Checking if nvcc accepts flags --generate-code=arch=compute_60,code=sm_60
-- Checking if nvcc accepts flags --generate-code=arch=compute_60,code=sm_60 - Success
-- Checking if nvcc accepts flags --generate-code=arch=compute_61,code=sm_61
-- Checking if nvcc accepts flags --generate-code=arch=compute_61,code=sm_61 - Success
-- Checking if nvcc accepts flags --generate-code=arch=compute_70,code=sm_70
-- Checking if nvcc accepts flags --generate-code=arch=compute_70,code=sm_70 - Success
-- Checking if nvcc accepts flags --generate-code=arch=compute_75,code=sm_75
-- Checking if nvcc accepts flags --generate-code=arch=compute_75,code=sm_75 - Success
-- Checking if nvcc accepts flags --generate-code=arch=compute_80,code=sm_80
-- Checking if nvcc accepts flags --generate-code=arch=compute_80,code=sm_80 - Success
-- Checking if nvcc accepts flags --generate-code=arch=compute_86,code=sm_86
-- Checking if nvcc accepts flags --generate-code=arch=compute_86,code=sm_86 - Success
-- Checking if nvcc accepts flags --generate-code=arch=compute_89,code=sm_89
-- Checking if nvcc accepts flags --generate-code=arch=compute_89,code=sm_89 - Success
-- Checking if nvcc accepts flags --generate-code=arch=compute_90,code=sm_90
-- Checking if nvcc accepts flags --generate-code=arch=compute_90,code=sm_90 - Success
-- Checking if nvcc accepts flags -Wno-deprecated-gpu-targets
-- Checking if nvcc accepts flags -Wno-deprecated-gpu-targets - Success
-- Checking if nvcc accepts flags --generate-code=arch=compute_53,code=sm_53
-- Checking if nvcc accepts flags --generate-code=arch=compute_53,code=sm_53 - Success
-- Checking if nvcc accepts flags --generate-code=arch=compute_80,code=sm_80
-- Checking if nvcc accepts flags --generate-code=arch=compute_80,code=sm_80 - Success
-- Checking if nvcc accepts flags -use_fast_math
-- Checking if nvcc accepts flags -use_fast_math - Success
-- Checking if nvcc accepts flags -Xptxas;-warn-double-usage
-- Checking if nvcc accepts flags -Xptxas;-warn-double-usage - Success
-- Checking if nvcc accepts flags -Xptxas;-Werror
-- Checking if nvcc accepts flags -Xptxas;-Werror - Success
-- Checking for mpi-ext.h header
-- Performing Test HAVE_MPI_EXT
-- Performing Test HAVE_MPI_EXT - Success
-- Performing Test MPI_SUPPORTS_CUDA_AWARE_DETECTION
-- Performing Test MPI_SUPPORTS_CUDA_AWARE_DETECTION - Success
-- Checking for MPI_SUPPORTS_CUDA_AWARE_DETECTION - yes
-- Detected build CPU vendor - Intel
-- Detected build CPU family - 6
-- Detected build CPU model - 62
-- Detected build CPU stepping - 4
-- Checking for 64-bit off_t
-- Checking for 64-bit off_t - present
-- Checking for fseeko/ftello
-- Checking for fseeko/ftello - present
-- Checking for SIGUSR1
-- Checking for SIGUSR1 - found
-- Checking for pipe support
-- Checking for system XDR support
-- Checking for system XDR support - not present
-- The GROMACS-managed build of FFTW 3 will configure with the following optimizations: --enable-sse2;--enable-avx;--enable-avx2
-- Using external FFT library - FFTW3 build managed by GROMACS
-- Looking for sgemm_
-- Looking for sgemm_ - not found
-- Looking for sgemm_
-- Looking for sgemm_ - found
-- Found BLAS: /apps/u/spack/gcc/11.4.0/openblas/0.3.23-46jg5m2/lib/libopenblas.so
-- Looking for cheev_
-- Looking for cheev_ - found
-- Found LAPACK: /apps/u/spack/gcc/11.4.0/openblas/0.3.23-46jg5m2/lib/libopenblas.so;-lpthread;-lm;-ldl
-- Performing Test HAS_WARNING_EVERYTHING
-- Performing Test HAS_WARNING_EVERYTHING - Failed
-- Found CUDAToolkit: /apps/u/opt/gcc/11.4.0/cuda/11.8.0/include (found version "11.8.89")
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Doxygen not found. Documentation targets will not be generated.
CMake Deprecation Warning at src/external/googletest/CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


CMake Deprecation Warning at src/external/googletest/googlemock/CMakeLists.txt:45 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


CMake Deprecation Warning at src/external/googletest/googletest/CMakeLists.txt:56 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- Found Python: /apps/u/spack/gcc/11.4.0/python/3.11.4-5224qq2/bin/python3.11 (found version "3.11.4") found components: Interpreter
-- Performing Test HAVE_NO_DEPRECATED_COPY
-- Performing Test HAVE_NO_DEPRECATED_COPY - Success
-- Performing Test CXXFLAGS_WARN_NOUNDEF
-- Performing Test CXXFLAGS_WARN_NOUNDEF - Success
-- Performing Test HAS_NO_STRINGOP_TRUNCATION
-- Performing Test HAS_NO_STRINGOP_TRUNCATION - Success
-- Performing Test HAS_NO_REDUNDANT_MOVE
-- Performing Test HAS_NO_REDUNDANT_MOVE - Success
-- Performing Test HAS_WARNING_NO_CAST_FUNCTION_TYPE_STRICT
-- Performing Test HAS_WARNING_NO_CAST_FUNCTION_TYPE_STRICT - Success
-- 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 - Success
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Performing Test HAS_WARNING_NO_ARRAY_BOUNDS
-- Performing Test HAS_WARNING_NO_ARRAY_BOUNDS - Success
-- Performing Test HAS_WARNING_NO_DEPRECATED_NON_PROTOTYPE
-- Performing Test HAS_WARNING_NO_DEPRECATED_NON_PROTOTYPE - Success
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Could NOT find Sphinx (missing: SPHINX_EXECUTABLE pygments) (Required is at least version "4.0.0")
-- Configuring done (224.3s)
-- Generating done (82.9s)
-- Build files have been written to: /apps/u/opt/gcc/11.4.0/gromacs/2023.3/build

Posted similar question back in September regards 2023.2 but got no response.

Any suggestions?

If it helps, I can successfully build on another one of our clusters, based on:

  • gcc/12.2.0
  • openmpi/4.1.4
  • cuda/12.1.1

Any ideas of compiler settings for gcc/11.4.0 that might resolve the issue?

Thanks in advance,
Simon