GROMACS version: 2025.2
GROMACS modification: No
Hi!
I try to building GROMACS(2025.2) with CP2K(2025.1), with CUDA(12.8 Update 1) Support, but I meet some problem in single and double precision of FFTW.
I try this to build CP2K:
export CUDA_PATH=/usr/local/cuda-12.8
export LD_LIBRARY_PATH=$CUDA_PATH/targets/x86_64-linux/lib:$LD_LIBRARY_PATH
./install_cp2k_toolchain.sh \
-j 63 \
--enable-cuda --gpu-ver=A100 \
--with-openmpi=system \
--with-plumed=install
cp tools/toolchain/install/arch/* arch/
source /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/setup
make -j 63 ARCH=local_cuda VERSION=psmp libcp2k
It works fine. 😄
I learned that: “FFT, BLAS and LAPACK libraries should be the same between CP2K and GROMACS.”, and I try to build GROMACS with CP2K:
export PKG_CONFIG_PATH=/home/liuheqi/softwares/cp2k-2025.1/lib/local_cuda/psmp/pkgconfig:$PKG_CONFIG_PATH
mkdir build && cd build
cmake .. \
-DGMX_GPU=CUDA \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.8 \
-DCMAKE_INSTALL_PREFIX=/home/liuheqi/softwares/gromacs-2025.2-cp2k \
-DREGRESSIONTEST_DOWNLOAD=ON \
-DGMX_CP2K=ON \
-DCP2K_DIR=/home/liuheqi/softwares/cp2k-2025.1 \
-DGMX_FFT_LIBRARY=fftw3 \
-DFFTWF_LIBRARY="/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10/lib/libfftw3.a;/usr/lib/x86_64-linux-gnu/libm.so" \
-DFFTWF_INCLUDE_DIR=/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10/include \
-DGMX_BLAS_USER=/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/openblas-0.3.28/lib/libopenblas.a \
-DGMX_LAPACK_USER=/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/openblas-0.3.28/lib/libopenblas.a
And I met this error:
-- Checking for module 'fftw3f'
-- Package 'fftw3f', required by 'virtual:world', not found
-- pkg-config could not detect fftw3f, trying generic detection
-- Looking for fftwf_plan_many_dft in /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10/lib/libfftw3.a;/usr/lib/x86_64-linux-gnu/libm.so
-- Looking for fftwf_plan_many_dft in /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10/lib/libfftw3.a;/usr/lib/x86_64-linux-gnu/libm.so - not found
-- Looking for fftwf_plan_many_dft_r2c in /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10/lib/libfftw3.a;/usr/lib/x86_64-linux-gnu/libm.so
-- Looking for fftwf_plan_many_dft_r2c in /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10/lib/libfftw3.a;/usr/lib/x86_64-linux-gnu/libm.so - not found
-- Looking for fftwf_plan_many_dft_c2r in /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10/lib/libfftw3.a;/usr/lib/x86_64-linux-gnu/libm.so
-- Looking for fftwf_plan_many_dft_c2r in /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10/lib/libfftw3.a;/usr/lib/x86_64-linux-gnu/libm.so - not found
CMake Error at cmake/FindFFTW.cmake:104 (message):
Could not find fftwf_plan_many_[r2c|c2r] in
/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10/lib/libfftw3.a;/usr/lib/x86_64-linux-gnu/libm.so,
take a look at the error message in
/home/liuheqi/softwares/gromacs-2025.2/build/CMakeFiles/CMakeError.log to
find out what went wrong. If you are using a static lib (.a) make sure you
have specified all dependencies of fftw3f in FFTWF_LIBRARY by hand (e.g.
-DFFTWF_LIBRARY='/path/to/libfftw3f.so;/path/to/libm.so') !
Call Stack (most recent call first):
cmake/gmxManageFFTLibraries.cmake:64 (find_package)
CMakeLists.txt:896 (include)
So, I add -DGMX_DOUBLE=ON
flag:
cmake .. \
-DGMX_GPU=CUDA \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.8 \
-DCMAKE_INSTALL_PREFIX=/home/liuheqi/softwares/gromacs-2025.2-cp2k \
-DREGRESSIONTEST_DOWNLOAD=ON \
-DGMX_CP2K=ON \
-DCP2K_DIR=/home/liuheqi/softwares/cp2k-2025.1 \
-DGMX_FFT_LIBRARY=fftw3 \
-DGMX_DOUBLE=ON \
-DFFTWF_LIBRARY="/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10/lib/libfftw3.a;/usr/lib/x86_64-linux-gnu/libm.so" \
-DFFTWF_INCLUDE_DIR=/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10/include \
-DGMX_BLAS_USER=/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/openblas-0.3.28/lib/libopenblas.a \
-DGMX_LAPACK_USER=/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/openblas-0.3.28/lib/libopenblas.a
And build, I met this error:
CMake Error at cmake/gmxManageCuda.cmake:39 (message):
CUDA acceleration is not available in double precision
Call Stack (most recent call first):
CMakeLists.txt:717 (include)
This means that I should have a FFTW with single precision, which means that GROMACS can’t share the same FFTW library with CP2K.
I try to make FFTW as same as possible, so, I uncompress the fftw-3.3.10.tar.gz which download from install_cp2k_toolchain.sh
, and rebuild the single precision verision:
# Check AVX ISA
lscpu | grep -i avx
# Build
./configure \
--prefix=/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10-single \
--enable-float \
--enable-openmp \
--enable-mpi \
--disable-shared \
--enable-static \
--enable-avx \
--enable-avx2
make
make install
And build GROMACS:
cmake .. \
-DGMX_GPU=CUDA \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.8 \
-DCMAKE_INSTALL_PREFIX=/home/liuheqi/softwares/gromacs-2025.2-cp2k \
-DREGRESSIONTEST_DOWNLOAD=ON \
-DGMX_CP2K=ON \
-DCP2K_DIR=/home/liuheqi/softwares/cp2k-2025.1 \
-DGMX_FFT_LIBRARY=fftw3 \
-DFFTWF_LIBRARY=/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10-single/lib/libfftw3f.a \
-DFFTWF_INCLUDE_DIR=/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10-single/include \
-DGMX_BLAS_USER=/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/openblas-0.3.28/lib/libopenblas.a \
-DGMX_LAPACK_USER=/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/openblas-0.3.28/lib/libopenblas.a
Results:
cmake .. \
-DGMX_GPU=CUDA \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.8 \
-DCMAKE_INSTALL_PREFIX=/home/liuheqi/softwares/gromacs-2025.2-cp2k \
-DREGRESSIONTEST_DOWNLOAD=ON \
-DGMX_CP2K=ON \
-DCP2K_DIR=/home/liuheqi/softwares/cp2k-2025.1 \
-DGMX_FFT_LIBRARY=fftw3 \
-DFFTWF_LIBRARY=/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10-single/lib/libfftw3f.a \
-DFFTWF_INCLUDE_DIR=/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10-single/include \
-DGMX_BLAS_USER=/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/openblas-0.3.28/lib/libopenblas.a \
-DGMX_LAPACK_USER=/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/openblas-0.3.28/lib/libopenblas.a
-- The C compiler identification is GNU 13.3.0
-- The CXX compiler identification is GNU 13.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/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: /usr/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python3: /home/liuheqi/miniforge3/bin/python3.12 (found suitable version "3.12.10", minimum required is "3.9") found components: Interpreter Development Development.Module Development.Embed
-- The Fortran compiler identification is GNU 13.3.0
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /usr/bin/gfortran - skipped
-- Selected GPU FFT library - cuFFT
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP_Fortran: -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
-- Found libcp2k in /home/liuheqi/softwares/cp2k-2025.1/lib/local_cuda/psmp
-- Torch not found. Neural network potential support will be disabled.
-- Using default binary suffix: ""
-- Using default library suffix: ""
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- 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 amd apic avx avx2 clfsh cmov cx8 cx16 f16c fma htt lahf misalignsse mmx msr nonstop_tsc pclmuldq pdpe1gb popcnt pse rdrnd rdtscp sha sse2 sse3 sse4a sse4.1 sse4.2 ssse3 x2apic
-- Detected build CPU brand - AMD EPYC 7742 64-Core Processor
-- Detected build CPU family - 23
-- Detected build CPU model - 49
-- Detected best SIMD instructions for this CPU - AVX2_256
-- Performing Test C_mavx2_mfma_FLAG_ACCEPTED
-- Performing Test C_mavx2_mfma_FLAG_ACCEPTED - Success
-- Performing Test C_mavx2_mfma_COMPILE_WORKS
-- Performing Test C_mavx2_mfma_COMPILE_WORKS - Success
-- Performing Test CXX_mavx2_mfma_FLAG_ACCEPTED
-- Performing Test CXX_mavx2_mfma_FLAG_ACCEPTED - Success
-- Performing Test CXX_mavx2_mfma_COMPILE_WORKS
-- Performing Test CXX_mavx2_mfma_COMPILE_WORKS - Success
-- Enabling 256-bit AVX2 SIMD instructions using CXX flags: -mavx2 -mfma
-- Detecting flags to enable runtime detection of AVX-512 units on newer CPUs
-- Performing Test C_march_skylake_avx512_FLAG_ACCEPTED
-- Performing Test C_march_skylake_avx512_FLAG_ACCEPTED - Success
-- Performing Test C_march_skylake_avx512_COMPILE_WORKS
-- Performing Test C_march_skylake_avx512_COMPILE_WORKS - Success
-- Performing Test CXX_march_skylake_avx512_FLAG_ACCEPTED
-- Performing Test CXX_march_skylake_avx512_FLAG_ACCEPTED - Success
-- Performing Test CXX_march_skylake_avx512_COMPILE_WORKS
-- Performing Test CXX_march_skylake_avx512_COMPILE_WORKS - Success
-- Detecting flags to enable runtime detection of AVX-512 units on newer CPUs - -march=skylake-avx512
-- 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 CUDAToolkit: /usr/local/cuda-12.8/targets/x86_64-linux/include (found suitable version "12.8.93", minimum required is "12.1")
-- Adding work-around for issue compiling CUDA code with glibc 2.23 string.h
-- Check for working NVCC/C++ compiler combination with nvcc ''
-- Check for working NVCC/C++ compiler combination - works
-- 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 --generate-code=arch=compute_100,code=sm_100
-- Checking if nvcc accepts flags --generate-code=arch=compute_100,code=sm_100 - Success
-- Checking if nvcc accepts flags --generate-code=arch=compute_120,code=sm_120
-- Checking if nvcc accepts flags --generate-code=arch=compute_120,code=sm_120 - 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=compute_53
-- Checking if nvcc accepts flags --generate-code=arch=compute_53,code=compute_53 - Success
-- Checking if nvcc accepts flags --generate-code=arch=compute_90,code=compute_90
-- Checking if nvcc accepts flags --generate-code=arch=compute_90,code=compute_90 - 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 if nvcc accepts flags -diag-suppress=177
-- Checking if nvcc accepts flags -diag-suppress=177 - Success
-- The CUDA compiler identification is NVIDIA 12.8.93 with host compiler GNU 13.3.0
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /usr/local/cuda-12.8/bin/nvcc - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- Detected build CPU vendor - AMD
-- Detected build CPU stepping - 0
-- 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
-- Checking for module 'fftw3f'
-- Package 'fftw3f', required by 'virtual:world', not found
-- pkg-config could not detect fftw3f, trying generic detection
-- Looking for fftwf_plan_many_dft in /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10-single/lib/libfftw3f.a
-- Looking for fftwf_plan_many_dft in /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10-single/lib/libfftw3f.a - found
-- Looking for fftwf_plan_many_dft_r2c in /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10-single/lib/libfftw3f.a
-- Looking for fftwf_plan_many_dft_r2c in /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10-single/lib/libfftw3f.a - found
-- Looking for fftwf_plan_many_dft_c2r in /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10-single/lib/libfftw3f.a
-- Looking for fftwf_plan_many_dft_c2r in /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10-single/lib/libfftw3f.a - found
-- Looking for fftwf_have_simd_sse in /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10-single/lib/libfftw3f.a
-- Looking for fftwf_have_simd_sse in /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10-single/lib/libfftw3f.a - not found
-- Looking for fftwf_have_sse in /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10-single/lib/libfftw3f.a
-- Looking for fftwf_have_sse in /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10-single/lib/libfftw3f.a - not found
-- Looking for fftwf_have_simd_sse2 in /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10-single/lib/libfftw3f.a
-- Looking for fftwf_have_simd_sse2 in /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/fftw-3.3.10-single/lib/libfftw3f.a - found
-- Using external FFT library - FFTW3
-- Checking that user BLAS library /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/openblas-0.3.28/lib/libopenblas.a works
-- Looking for dgemm_
-- Looking for dgemm_ - not found
CMake Warning at cmake/gmxManageLinearAlgebraLibraries.cmake:77 (message):
GMX_BLAS_USER library
/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/openblas-0.3.28/lib/libopenblas.a
was specified, but it may not provide BLAS. We are proceeding by assuming
you know what you are doing and that linking F77-style to this library will
work.
Call Stack (most recent call first):
cmake/gmxManageLinearAlgebraLibraries.cmake:198 (manage_linear_algebra_library)
cmake/gmxManageLinearAlgebraLibraries.cmake:208 (gmxManageLinearAlgebraLibraries)
CMakeLists.txt:899 (include)
-- Checking that user LAPACK library /home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/openblas-0.3.28/lib/libopenblas.a works
-- Looking for cheev_
-- Looking for cheev_ - not found
CMake Warning at cmake/gmxManageLinearAlgebraLibraries.cmake:77 (message):
GMX_LAPACK_USER library
/home/liuheqi/softwares/cp2k-2025.1/tools/toolchain/install/openblas-0.3.28/lib/libopenblas.a
was specified, but it may not provide LAPACK. We are proceeding by
assuming you know what you are doing and that linking F77-style to this
library will work.
Call Stack (most recent call first):
cmake/gmxManageLinearAlgebraLibraries.cmake:200 (manage_linear_algebra_library)
cmake/gmxManageLinearAlgebraLibraries.cmake:208 (gmxManageLinearAlgebraLibraries)
CMakeLists.txt:899 (include)
-- No image conversion possible without ImageMagick
-- Performing Test HAS_WARNING_EVERYTHING
-- Performing Test HAS_WARNING_EVERYTHING - Failed
-- Found Python: /home/liuheqi/miniforge3/bin/python3.12 (found version "3.12.10") found components: Interpreter
-- Performing Test HAVE_NO_DEPRECATED_COPY
-- Performing Test HAVE_NO_DEPRECATED_COPY - Success
-- Looking for dlopen
-- Looking for dlopen - found
-- Performing Test HAS_NO_STRINGOP_TRUNCATION
-- Performing Test HAS_NO_STRINGOP_TRUNCATION - 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_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
Downloading: https://ftp.gromacs.org/regressiontests/regressiontests-2025.2.tar.gz
-- [download 0% complete]
-- [download 1% complete]
-- [download 2% complete]
-- [download 3% complete]
-- [download 4% complete]
-- [download 5% complete]
-- [download 6% complete]
-- [download 7% complete]
-- [download 8% complete]
-- [download 9% complete]
-- [download 10% complete]
-- [download 11% complete]
-- [download 12% complete]
-- [download 13% complete]
-- [download 14% complete]
-- [download 15% complete]
-- [download 16% complete]
-- [download 17% complete]
-- [download 18% complete]
-- [download 19% complete]
-- [download 20% complete]
-- [download 21% complete]
-- [download 22% complete]
-- [download 23% complete]
-- [download 24% complete]
-- [download 25% complete]
-- [download 26% complete]
-- [download 27% complete]
-- [download 28% complete]
-- [download 29% complete]
-- [download 30% complete]
-- [download 31% complete]
-- [download 32% complete]
-- [download 33% complete]
-- [download 34% complete]
-- [download 35% complete]
-- [download 36% complete]
-- [download 37% complete]
-- [download 38% complete]
-- [download 39% complete]
-- [download 40% complete]
-- [download 41% complete]
-- [download 42% complete]
-- [download 43% complete]
-- [download 44% complete]
-- [download 45% complete]
-- [download 46% complete]
-- [download 47% complete]
-- [download 48% complete]
-- [download 49% complete]
-- [download 50% complete]
-- [download 51% complete]
-- [download 52% complete]
-- [download 53% complete]
-- [download 54% complete]
-- [download 55% complete]
-- [download 56% complete]
-- [download 57% complete]
-- [download 58% complete]
-- [download 59% complete]
-- [download 60% complete]
-- [download 61% complete]
-- [download 62% complete]
-- [download 63% complete]
-- [download 64% complete]
-- [download 65% complete]
-- [download 66% complete]
-- [download 67% complete]
-- [download 68% complete]
-- [download 69% complete]
-- [download 70% complete]
-- [download 71% complete]
-- [download 72% complete]
-- [download 73% complete]
-- [download 74% complete]
-- [download 75% complete]
-- [download 76% complete]
-- [download 77% complete]
-- [download 78% complete]
-- [download 79% complete]
-- [download 80% complete]
-- [download 81% complete]
-- [download 82% complete]
-- [download 83% complete]
-- [download 84% complete]
-- [download 85% complete]
-- [download 86% complete]
-- [download 87% complete]
-- [download 88% complete]
-- [download 89% complete]
-- [download 90% complete]
-- [download 91% complete]
-- [download 92% complete]
-- [download 93% complete]
-- [download 94% complete]
-- [download 95% complete]
-- [download 96% complete]
-- [download 97% complete]
-- [download 98% complete]
-- [download 99% complete]
-- [download 100% complete]
-- Could NOT find Sphinx (missing: SPHINX_EXECUTABLE pygments) (Required is at least version "4.0.0")
-- Could NOT find LATEX (missing: LATEX_COMPILER)
-- Configuring done (57.9s)
-- Generating done (1.8s)
CMake Warning:
Manually-specified variables were not used by the project:
CUDA_TOOLKIT_ROOT_DIR
-- Build files have been written to: /home/liuheqi/softwares/gromacs-2025.2/build
So, I make, but I met an error:
[ 92%] Linking CXX shared library ../../lib/libgromacs.so
/usr/bin/ld: cannot find -lcp2k: No such file or directory
/usr/bin/ld: cannot find -lcp2k: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [src/gromacs/CMakeFiles/libgromacs.dir/build.make:14093: lib/libgromacs.so.10.0.0] Error 1
make[1]: *** [CMakeFiles/Makefile2:5481: src/gromacs/CMakeFiles/libgromacs.dir/all] Error 2
So, I finally give up😭
Has anyone successfully done this? If you’re interested, we can discuss it.