Dear lammps users:
I got an error when building lammps(23 Jun 2022) with cmake(version 3.25.1).
After typing cmake --build .
,
The error occurred after
[100%] Linking CXX static library liblammps.a
[100%] Built target lammps
[100%] Building CXX object CMakeFiles/lmp.dir/home/lijun/softwarez/lammps2/src/main.cpp.o
[100%] Linking CXX executable lmp
and the tail of the error shows:
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:229: undefined reference to `ompi_mpi_double'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:524: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:569: undefined reference to `ompi_mpi_char'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:577: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:578: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:580: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:584: undefined reference to `ompi_mpi_char'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: liblammps.a(rcb.cpp.o): in function `LAMMPS_NS::RCB::compute_old(int, int, double**,double*, double*, double*)':
/home/lijun/softwarez/lammps2/src/rcb.cpp:766: undefined reference to `ompi_mpi_op_sum'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:766: undefined reference to `ompi_mpi_double'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:767: undefined reference to `ompi_mpi_op_max'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:767: undefined reference to `ompi_mpi_double'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:908: undefined reference to `ompi_mpi_op_sum'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:908: undefined reference to `ompi_mpi_double'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:1011: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:1072: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:1076: undefined reference to `ompi_mpi_char'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:951: undefined reference to `ompi_mpi_op_sum'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:951: undefined reference to `ompi_mpi_double'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:1057: undefined reference to `ompi_mpi_char'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:1069: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:1072: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:1076: undefined reference to `ompi_mpi_char'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:1014: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:766: undefined reference to `ompi_mpi_op_sum'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:766: undefined reference to `ompi_mpi_double'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:1061: undefined reference to `ompi_mpi_char'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:1069: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:1070: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:1072: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:1076: undefined reference to `ompi_mpi_char'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/rcb.cpp:1016: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: liblammps.a(angle_hybrid.cpp.o): in function `LAMMPS_NS::AngleHybrid::read_restart(_IO_FILE*)':
/home/lijun/softwarez/lammps2/src/angle_hybrid.cpp:348: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/angle_hybrid.cpp:357: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/angle_hybrid.cpp:360: undefined reference to `ompi_mpi_char'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/angle_hybrid.cpp:357: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: liblammps.a(angle_zero.cpp.o): in function `LAMMPS_NS::AngleZero::read_restart(_IO_FILE*)':
/home/lijun/softwarez/lammps2/src/angle_zero.cpp:135: undefined reference to `ompi_mpi_double'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: liblammps.a(bond_hybrid.cpp.o): in function `LAMMPS_NS::BondHybrid::read_restart(_IO_FILE*)':
/home/lijun/softwarez/lammps2/src/bond_hybrid.cpp:338: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/bond_hybrid.cpp:347: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/bond_hybrid.cpp:350: undefined reference to `ompi_mpi_char'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/bond_hybrid.cpp:347: undefined reference to `ompi_mpi_int'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: liblammps.a(bond_zero.cpp.o): in function `LAMMPS_NS::BondZero::read_restart(_IO_FILE*)':
/home/lijun/softwarez/lammps2/src/bond_zero.cpp:132: undefined reference to `ompi_mpi_double'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: liblammps.a(fix_wall.cpp.o): in function `LAMMPS_NS::FixWall::compute_scalar()':
/home/lijun/softwarez/lammps2/src/fix_wall.cpp:369: undefined reference to `ompi_mpi_op_sum'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/fix_wall.cpp:369: undefined reference to `ompi_mpi_double'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: liblammps.a(fix_wall.cpp.o): in function `LAMMPS_NS::FixWall::compute_vector(int)':
/home/lijun/softwarez/lammps2/src/fix_wall.cpp:384: undefined reference to `ompi_mpi_op_sum'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /home/lijun/softwarez/lammps2/src/fix_wall.cpp:384: undefined reference to `ompi_mpi_double'
collect2: error: ld returned 1 exit status
gmake[2]: *** [lmp] Error 1
gmake[1]: *** [CMakeFiles/lmp.dir/all] Error 2
gmake: *** [all] Error 2
The output of the previous step, i.e. cmake3 ../cmake
, shows:
(base) [lijun@ljc9 build]$ cmake ../cmake
-- The CXX compiler identification is GNU 9.3.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/rh/devtoolset-9/root/usr/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /usr/bin/git (found version "1.8.3.1")
-- Appending /home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/libvori-220621/lib:/home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/spglib-1.16.2/lib:/home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/plumed-2.8.1/lib:/home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/gsl-2.7/lib:/home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/elpa-2022.11.001/lib:/home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/COSMA-2.6.2/lib:/home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/libxsmm-1.17/lib:/home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/libxc-6.0.0/lib:/home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/libint-v2.6.0-cp2k-lmax-5/lib:/home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/openmpi-4.1.4/lib:/opt/intel/oneapi/mpi/2021.5.1/libfabric/lib:/opt/intel/oneapi/mpi/2021.5.1/lib/release:/opt/intel/oneapi/mpi/2021.5.1/lib:/opt/intel/oneapi/mkl/2022.0.2/lib/intel64:/opt/intel/oneapi/tbb/2021.5.1/lib/intel64/gcc4.8:/opt/intel/oneapi/compiler/2022.0.2/linux/lib:/opt/intel/oneapi/clck/2021.5.0/lib/intel64:/opt/intel/oneapi/ccl/2021.5.1/lib/cpu_gpu_dpcpp to CMAKE_LIBRARY_PATH: /home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/libvori-220621/lib:/home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/spglib-1.16.2/lib:/home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/plumed-2.8.1/lib:/home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/gsl-2.7/lib:/home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/elpa-2022.11.001/lib:/home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/COSMA-2.6.2/lib:/home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/libxsmm-1.17/lib:/home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/libxc-6.0.0/lib:/home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/libint-v2.6.0-cp2k-lmax-5/lib:/home/lijun/softwarez/cp2k-2023.1/tools/toolchain/install/openmpi-4.1.4/lib:/opt/intel/oneapi/mpi/2021.5.1/libfabric/lib:/opt/intel/oneapi/mpi/2021.5.1/lib/release:/opt/intel/oneapi/mpi/2021.5.1/lib:/opt/intel/oneapi/mkl/2022.0.2/lib/intel64:/opt/intel/oneapi/tbb/2021.5.1/lib/intel64/gcc4.8:/opt/intel/oneapi/compiler/2022.0.2/linux/lib:/opt/intel/oneapi/clck/2021.5.0/lib/intel64:/opt/intel/oneapi/ccl/2021.5.1/lib/cpu_gpu_dpcpp
-- Running check for auto-generated files from make-based build system
-- Found MPI_CXX: /opt/intel/oneapi/mpi/2021.5.1/lib/libmpicxx.so (found version "3.1")
-- Found MPI: TRUE (found version "3.1")
-- Looking for C++ include omp.h
-- Looking for C++ include omp.h - found
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Found JPEG: /usr/lib64/libjpeg.so (found version "62")
-- Found PNG: /usr/lib64/libpng.so (found version "1.5.13")
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.7")
-- Found GZIP: /usr/bin/gzip
-- Could NOT find FFMPEG (missing: FFMPEG_EXECUTABLE)
-- Looking for C++ include cmath
-- Looking for C++ include cmath - found
-- Generating style headers...
-- Generating package headers...
-- Generating lmpinstalledpkgs.h...
-- Could NOT find ClangFormat (missing: ClangFormat_EXECUTABLE) (Required is at least version "8.0")
-- The following tools and libraries have been found and configured:
* Git
* MPI
* OpenMP
* JPEG
* PNG
* ZLIB
-- <<< Build configuration >>>
LAMMPS Version: 20220623
Operating System: Linux CentOS Linux 7
Build type: RelWithDebInfo
Install path: /home/lijun/.local
Generator: Unix Makefiles using /usr/bin/gmake
-- Enabled packages: <None>
-- <<< Compilers and Flags: >>>
-- C++ Compiler: /opt/rh/devtoolset-9/root/usr/bin/g++
Type: GNU
Version: 9.3.1
C++ Flags: -O2 -g -DNDEBUG
Defines: LAMMPS_SMALLBIG;LAMMPS_MEMALIGN=64;LAMMPS_OMP_COMPAT=4;LAMMPS_JPEG;LAMMPS_PNG;LAMMPS_GZIP
-- <<< Linker flags: >>>
-- Executable name: lmp
-- Static library flags:
-- <<< MPI flags >>>
-- MPI_defines: MPICH_SKIP_MPICXX;OMPI_SKIP_MPICXX;_MPICC_H
-- MPI includes: /opt/intel/oneapi/mpi/2021.5.1/include
-- MPI libraries: /opt/intel/oneapi/mpi/2021.5.1/lib/libmpicxx.so;/opt/intel/oneapi/mpi/2021.5.1/lib/release/libmpi.so;/lib64/librt.so;/lib64/libpthread.so;/lib64/libdl.so;
-- Configuring done
-- Generating done
-- Build files have been written to: /home/lijun/softwarez/lammps2/build
What should I do to fix the problem?