[gmx-users] Compilation issue, MacOS 10.13.5 - Gromacs 2018 - CUDA 9.2

Florian Nachon florian.nachon at chemdef.fr
Fri Jun 15 11:36:05 CEST 2018


Hi,

I’m struggling to install Gormacs 2018 on my MacBook pro (late 2013) with cuda support for the NVIDIA GeForce GT 750M.

I’m using Clang-6.0 installed with macports for OpenMP support, and clang from Xcode 9.2 for support of cuda 9.2 and cmake stage is fine using : 

cmake .. -DGMX_GPU=ON -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda/ -DCMAKE_C_COMPILER=/opt/local/bin/clang-mp-6.0 -DCMAKE_CXX_COMPILER=/opt/local/bin/clang++-mp-6.0 -DGMX_SIMD=AVX2_256 -DCUDA_HOST_COMPILER=/usr/bin/clang -DGMX_FFT_LIBRARY=fftw3


But I have apparently a linking issue for gpu_utilstest_cuda at the end of the make stage :

Scanning dependencies of target gpu_utilstest_cuda
[ 98%] Linking CXX shared library ../../../../lib/libgpu_utilstest_cuda.dylib
Undefined symbols for architecture x86_64:
  "gmx::formatString(char const*, ...)", referenced from:
      gmx::(anonymous namespace)::throwUponFailure(cudaError, char const*) in gpu_utilstest_cuda_generated_devicetransfers.cu.o
  "gmx::GromacsException::setInfo(std::__1::type_index const&, std::__1::unique_ptr<gmx::internal::IExceptionInfo, std::__1::default_delete<gmx::internal::IExceptionInfo> >&&)", referenced from:
      gmx::(anonymous namespace)::throwUponFailure(cudaError, char const*) in gpu_utilstest_cuda_generated_devicetransfers.cu.o
  "gmx::GromacsException::GromacsException(gmx::ExceptionInitializer const&)", referenced from:
      gmx::(anonymous namespace)::throwUponFailure(cudaError, char const*) in gpu_utilstest_cuda_generated_devicetransfers.cu.o
  "gmx::internal::assertHandler(char const*, char const*, char const*, char const*, int)", referenced from:
      gmx::doDeviceTransfers(gmx_gpu_info_t const&, gmx::ArrayRef<char const>, gmx::ArrayRef<char>) in gpu_utilstest_cuda_generated_devicetransfers.cu.o
  "gmx::internal::IExceptionInfo::~IExceptionInfo()", referenced from:
      gmx::(anonymous namespace)::throwUponFailure(cudaError, char const*) in gpu_utilstest_cuda_generated_devicetransfers.cu.o
      gmx::ExceptionInfo<gmx::ExceptionInfoLocation_, gmx::ThrowLocation>::~ExceptionInfo() in gpu_utilstest_cuda_generated_devicetransfers.cu.o
      gmx::ExceptionInfo<gmx::ExceptionInfoLocation_, gmx::ThrowLocation>::~ExceptionInfo() in gpu_utilstest_cuda_generated_devicetransfers.cu.o
  "typeinfo for gmx::InternalError", referenced from:
      gmx::(anonymous namespace)::throwUponFailure(cudaError, char const*) in gpu_utilstest_cuda_generated_devicetransfers.cu.o
  "typeinfo for gmx::internal::IExceptionInfo", referenced from:
      typeinfo for gmx::ExceptionInfo<gmx::ExceptionInfoLocation_, gmx::ThrowLocation> in gpu_utilstest_cuda_generated_devicetransfers.cu.o
  "vtable for gmx::InternalError", referenced from:
      gmx::(anonymous namespace)::throwUponFailure(cudaError, char const*) in gpu_utilstest_cuda_generated_devicetransfers.cu.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for gmx::GromacsException", referenced from:
      gmx::(anonymous namespace)::throwUponFailure(cudaError, char const*) in gpu_utilstest_cuda_generated_devicetransfers.cu.o
      gmx::InternalError::~InternalError() in gpu_utilstest_cuda_generated_devicetransfers.cu.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
src/gromacs/gpu_utils/tests/CMakeFiles/gpu_utilstest_cuda.dir/build.make:79: recipe for target 'lib/libgpu_utilstest_cuda.dylib' failed
make[2]: *** [lib/libgpu_utilstest_cuda.dylib] Error 1
CMakeFiles/Makefile2:3382: recipe for target 'src/gromacs/gpu_utils/tests/CMakeFiles/gpu_utilstest_cuda.dir/all' failed
make[1]: *** [src/gromacs/gpu_utils/tests/CMakeFiles/gpu_utilstest_cuda.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make: *** [all] Error 2


Any clue?

Florian




More information about the gromacs.org_gmx-users mailing list