Document
  • Error Report:Error – FFTW Library Missing PLUMED Support
  • This issue arose due to the unavailability of PLUMED library support for the FFTW library during compilation. It is essential to resolve this, as both libraries are fundamental to Qbics' computations, particularly when performing advanced simulations in computational chemistry.

  • Optimization Solution:
    1. Open the Makefile-linux-cpu file.
    2. Locate the LIBS section in the file.
    3. Add $(LIBPLUMED) before $(LIBFFTW) in the LIBS line: LIBS = $(LIBPLUMED) $(LIBFFTW) ...
    4. This adjustment ensures that the PLUMED library is linked correctly before FFTW.
    5. Save the changes and re-run the compilation process.

  • Error Report:fatal: Not a git repository (or any parent up to mount point /lustre)
  • This issue indicates that the XTB library is not initialized as a Git repository. While this is not a critical problem and the software can still be compiled, you may resolve it if desired. Follow the steps below to address this issue.

  • Optimization Solution:
    1. Open the build.sh script.
    2. Locate the section where the XTB library is defined.
    3. Add the following commands to initialize Git and set user information:
    4. git init
      git config user.name "Your Name"
      git config user.email "your.email@example.com"
      git add .
      git commit -m "Initial commit"

  • Error Report:Could NOT find LAPACK (missing: LAPACK_LIBRARIES) OR Could NOT find BLAS (missing: LAPACK_LIBRARIES)
  • During the compilation of the XTB library, you may encounter errors indicating the absence of LAPACK or BLAS support libraries.

  • Optimization Solution:
    1. Resolving LAPACK Library Issues
    2. If the error indicates that the LAPACK library is missing, locate the path of the LAPACK library and add it to the cmake command in the build.sh script under the XTB section. Use the following syntax: -DLAPACK_LIBRARIES=<path>/liblapack.so
    3. Resolving BLAS Library Issues
    4. Similarly, if the error indicates that the BLAS library is missing, add the following line to the cmake command in the same section. Note that the key differs slightly from the LAPACK configuration:-DBLAS_LIBRARIES=<path>/libopenblas.so

  • Error Report:Fatal Error – g++: Killed Signal Terminated Program cclplus
  • This error indicates that memory or computational resources were insufficient during the linking stage. Adjusting the compilation optimization level can help mitigate resource demands and stabilize the build process.

  • Optimization Solution:
    1. Open the build.sh script.
    2. Add the following command to the PLUMED section: export CXXFLAGS="-O1"
    3. Remove the parallel parameter -j${numCores} from the make command to avoid excessive memory usage.
    4. Save the changes and re-run the compilation process.

  • Error Report:Memory Limitation Issue – "cclplus"
  • The compilation encountered memory limitations due to the complex calculations required by cclplus, potentially leading to crashes or timeouts in low-resource environments.

  • Optimization Solution:
    1. Open the Makefile-linux-cpu file.
    2. Modify the CXXFLAG value from -O2 to -O1
    3. This adjustment lowers the optimization level, reducing memory demand during compilation and improving compatibility with resource-limited servers.

  • Error Report:Error: undefined reference to 'gsl_*'
  • This error indicates that the compiler could not find the GSL (GNU Scientific Library), which causes issues with undefined GSL functions.

  • Optimization Solution:
    1. Open the Makefile-linux-cpu file.
    2. Locate the LIBS section.
    3. Add the following flags at the end of the LIBS line to correctly link the GSL library: -lgsl -lgslcblas
    4. Save the changes and re-run the compilation process.

  • Error Report:System architecture compatibility issue.
  • In the aarch64 environment, certain C++ code requires a specific flag during compilation to specify the target architecture. Without this flag, the code may not compile correctly into .o files.

  • Optimization Solution:
    1. Open the Makefile-linux-cpu file.
    2. Locate the CXXFLAG section.
    3. Add the following key command to the end of the CXXFLAG line: -march=armv8-a
    4. Save the changes and re-run the compilation process.