[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