Rate This Document
Findability
Accuracy
Completeness
Readability

Compilation and Installation

Procedure

  1. Use PuTTY to log in to the server as the root user.
  2. Run the following command to go to the main program installation directory:
    cd /path/to/ESPRESSOMD
  3. Run the following command to decompress the installation package:
    tar -xvf espresso-4.1.4.tar.gz
  4. Run the following command to go to the directory generated after decompression:
    cd espresso
  5. Run the following commands to modify the cmake/FindFFTW3.cmake file:
    1. Open the cmake/FindFFTW3.cmake file.
      vi cmake/FindFFTW3.cmake
    2. Press i to go to the edit mode. Add the following two lines before line 25:
      SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "/path/to/FFTW/include")
      SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "/path/to/FFTW/lib")
    3. Press Esc, type :wq!, and press Enter to save the file and exit.
  6. Create a build directory and build ESPResSo in the directory.
    mkdir build
    cd build
  7. Run the following commands to build the software:
    cmake ..
  8. Run the following commands to modify the CMakeCache.txt file:
    1. Open the CMakeCache.txt file.
      vi CMakeCache.txt
    2. Press i to go to the edit mode and add compilation options to line 37 of the CMakeCache.txt file.
      CMAKE_CXX_FLAGS:STRING=-O3 -march=armv8.2-a -mcpu=tsv110 -Wl,-rpath=/path/to/KPGCC/gcc-9.3.1-2020.12-aarch64-linux/lib64/libhpc -L/path/to/KPGCC/gcc-9.3.1-2020.12-aarch64-linux/lib64/libhpc -lmathlib -lm
    3. Press Esc, type :wq!, and press Enter to save the file and exit.
  9. Run the following command to configure the environment variables of the mathlib library:
    export LD_LIBRARY_PATH=/path/to/KPGCC/gcc-9.3.1-2020.12-aarch64-linux/lib64/libhpc:$LD_LIBRARY_PATH
  10. Run the following commands to perform the compilation and installation:
    make

    After the compilation is successful, the EspressoCore.so dynamic library is generated in the /path/to/ESPRESSOMD/espresso/build/src/core directory. You can run the ldd command to list the dependencies of the dynamic library.