Hi,
I just downloaded OpenMM source and tried to installed it on our
computer running Open OpenSuSE 11.0,
but failed due to some unknown error. The computer has NVIDIA C1060 and
Cuda driver and toolkit installed
(both are the latest version).
Here is the installation log:
chem@gch:/scratch/OpenMMPreview2-Source/src> cmake
/scratch/OpenMMPreview2-Source/src
-- Looking for doxygen...
-- Looking for doxygen... - found /usr/bin/doxygen
-- Looking for dot tool...
-- Looking for dot tool... - found /usr/bin/dot
-- Configuring done
-- Generating done
-- Build files have been written to: /scratch/OpenMMPreview2-Source/src
chem@gch:/scratch/OpenMMPreview2-Source/src> make
Scanning dependencies of target OpenMM_d
[ 0%] Building CXX object
CMakeFiles/OpenMM_d.dir/openmmapi/src/OpenMMContextImpl.cpp.o
[ 0%] Building CXX object
CMakeFiles/OpenMM_d.dir/openmmapi/src/RBTorsionForceImpl.cpp.o
[ 0%] Building CXX object
CMakeFiles/OpenMM_d.dir/openmmapi/src/NonbondedForceImpl.cpp.o
[ 1%] Building CXX object
CMakeFiles/OpenMM_d.dir/openmmapi/src/RBTorsionForce.cpp.o
[ 1%] Building CXX object
CMakeFiles/OpenMM_d.dir/openmmapi/src/HarmonicAngleForceImpl.cpp.o
[ 1%] Building CXX object
CMakeFiles/OpenMM_d.dir/openmmapi/src/PeriodicTorsionForceImpl.cpp.o
[ 2%] Building CXX object
CMakeFiles/OpenMM_d.dir/openmmapi/src/OpenMMContext.cpp.o
[ 2%] Building CXX object
CMakeFiles/OpenMM_d.dir/openmmapi/src/PeriodicTorsionForce.cpp.o
[ 2%] Building CXX object
CMakeFiles/OpenMM_d.dir/openmmapi/src/BrownianIntegrator.cpp.o
[ 3%] Building CXX object
CMakeFiles/OpenMM_d.dir/openmmapi/src/AndersenThermostatImpl.cpp.o
In file included from
/scratch/OpenMMPreview2-Source/src/openmmapi/include/internal/AndersenTher
mostatImpl.h:35,
from
/scratch/OpenMMPreview2-Source/src/openmmapi/src/AndersenThermostatImpl.cp
p:32:
/scratch/OpenMMPreview2-Source/src/openmmapi/include/internal/ForceImpl.h:
97:
error: 滻tring?is not a member of 滻td?
/scratch/OpenMMPreview2-Source/src/openmmapi/include/internal/ForceImpl.h:
97:
error: 滻tring?is not a member of 滻td?
/scratch/OpenMMPreview2-Source/src/openmmapi/include/internal/ForceImpl.h:
97:
error: template argument 1 is invalid
/scratch/OpenMMPreview2-Source/src/openmmapi/include/internal/ForceImpl.h:
97:
error: template argument 3 is invalid
/scratch/OpenMMPreview2-Source/src/openmmapi/include/internal/ForceImpl.h:
97:
error: template argument 4 is invalid
/scratch/OpenMMPreview2-Source/src/openmmapi/include/internal/ForceImpl.h:
101:
error: 滻tring?is not a member of 滻td?
/scratch/OpenMMPreview2-Source/src/openmmapi/include/internal/ForceImpl.h:
101:
error: 滻tring?is not a member of 滻td?
/scratch/OpenMMPreview2-Source/src/openmmapi/include/internal/ForceImpl.h:
101:
error: template argument 1 is invalid
/scratch/OpenMMPreview2-Source/src/openmmapi/include/internal/ForceImpl.h:
101:
error: template argument 2 is invalid
In file included from
/scratch/OpenMMPreview2-Source/src/openmmapi/src/AndersenThermostatImpl.cp
p:32:
/scratch/OpenMMPreview2-Source/src/openmmapi/include/internal/AndersenTher
mostatImpl.h:60:
error: conflicting return type specified for 潎irtual
std::map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, double, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, double> > >
OpenMM::AndersenThermostatImpl::getDefaultParameters()?
/scratch/OpenMMPreview2-Source/src/openmmapi/include/internal/ForceImpl.h:
97:
error: overriding 潎irtual int OpenMM::ForceImpl::getDefaultParameters()?
/scratch/OpenMMPreview2-Source/src/openmmapi/include/internal/AndersenTher
mostatImpl.h:61:
error: conflicting return type specified for 潎irtual
std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > >
OpenMM::AndersenThermostatImpl::getKernelNames()?
/scratch/OpenMMPreview2-Source/src/openmmapi/include/internal/ForceImpl.h:
101:
error: overriding 潎irtual int OpenMM::ForceImpl::getKernelNames()?
make[2]: ***
[CMakeFiles/OpenMM_d.dir/openmmapi/src/AndersenThermostatImpl.cpp.o] Error
1
make[1]: *** [CMakeFiles/OpenMM_d.dir/all] Error 2
make: *** [all] Error 2
The installation failed due to some errors, perhaps I have missed some
step? Any suggestion is welcome and
appreciated.
Jyh-Shyong Ho, Ph.D.
Research Scientist
National Center for High Performance Computing
Hsinchu, Taiwan, ROC
OPENMM installation problem
- Peter Eastman
- Posts: 2564
- Joined: Thu Aug 09, 2007 1:25 pm
RE: OPENMM installation problem
You must be using gcc 4.3. OpenMM was developed with gcc 4.2, and I've recently discovered that a couple of minor changes are necessary to make it compile under 4.3. You need to add
#include <string>
to ForceImpl.h, and
#include <stdlib>
#include <string>
to cudatypes.h.
Peter
#include <string>
to ForceImpl.h, and
#include <stdlib>
#include <string>
to cudatypes.h.
Peter
- Jyh-Shyong Ho
- Posts: 5
- Joined: Thu Jan 15, 2009 8:45 pm
RE: OPENMM installation problem
Thanks, I did the modification, now there is another error message:
...
Linking CXX executable ../../../TestReferenceRandom
[ 42%] Built target TestReferenceRandom
Scanning dependencies of target TestReferenceVerletIntegrator
[ 42%] Building CXX object platforms/reference/tests/CMakeFiles/TestReferenceVerletIntegrator.dir/TestReferenceVerletIntegrator.cpp.o
Linking CXX executable ../../../TestReferenceVerletIntegrator
[ 42%] Built target TestReferenceVerletIntegrator
[ 42%] Building (Device) NVCC Dependency File: /scratch/OpenMMPreview2-Source/src/src/cuda/src/kernels//kCalculateCDLJForces.cu_OpenMMCuda_d_generated.cpp.NVCC-depend
In file included from /scratch/OpenMMPreview2-Source/src/platforms/cuda/sharedTarget/../src/kernels//gputypes.h:35,
from /scratch/OpenMMPreview2-Source/src/platforms/cuda/sharedTarget/../src/kernels//kCalculateCDLJForces.cu:41:
/scratch/OpenMMPreview2-Source/src/platforms/cuda/sharedTarget/../src/kernels//cudatypes.h:36:18: error: stdlib: No such file or directory
make[2]: *** [src/cuda/src/kernels/kCalculateCDLJForces.cu_OpenMMCuda_d_generated.cpp.NVCC-depend] Error 255
make[1]: *** [platforms/cuda/sharedTarget/CMakeFiles/OpenMMCuda_d.dir/all] Error 2
make: *** [all] Error 2
gch:/scratch/OpenMMPreview2-Source/src
Perhaps I need to modify more files?
...
Linking CXX executable ../../../TestReferenceRandom
[ 42%] Built target TestReferenceRandom
Scanning dependencies of target TestReferenceVerletIntegrator
[ 42%] Building CXX object platforms/reference/tests/CMakeFiles/TestReferenceVerletIntegrator.dir/TestReferenceVerletIntegrator.cpp.o
Linking CXX executable ../../../TestReferenceVerletIntegrator
[ 42%] Built target TestReferenceVerletIntegrator
[ 42%] Building (Device) NVCC Dependency File: /scratch/OpenMMPreview2-Source/src/src/cuda/src/kernels//kCalculateCDLJForces.cu_OpenMMCuda_d_generated.cpp.NVCC-depend
In file included from /scratch/OpenMMPreview2-Source/src/platforms/cuda/sharedTarget/../src/kernels//gputypes.h:35,
from /scratch/OpenMMPreview2-Source/src/platforms/cuda/sharedTarget/../src/kernels//kCalculateCDLJForces.cu:41:
/scratch/OpenMMPreview2-Source/src/platforms/cuda/sharedTarget/../src/kernels//cudatypes.h:36:18: error: stdlib: No such file or directory
make[2]: *** [src/cuda/src/kernels/kCalculateCDLJForces.cu_OpenMMCuda_d_generated.cpp.NVCC-depend] Error 255
make[1]: *** [platforms/cuda/sharedTarget/CMakeFiles/OpenMMCuda_d.dir/all] Error 2
make: *** [all] Error 2
gch:/scratch/OpenMMPreview2-Source/src
Perhaps I need to modify more files?
- Michael Sherman
- Posts: 806
- Joined: Fri Apr 01, 2005 6:05 pm
RE: OPENMM installation problem
I think you want #include <cstdlib> rather than <stdlib>.
Sherm
Sherm
- Jyh-Shyong Ho
- Posts: 5
- Joined: Thu Jan 15, 2009 8:45 pm
RE: OPENMM installation problem
Thanks for your help. I tried again with the modification and now is making some progress:
[ 63%] Building CXX object platforms/cuda/sharedTarget/CMakeFiles/OpenMMCuda_d.dir/__/src/CudaStreamFactory.o
[ 63%] Building CXX object platforms/cuda/sharedTarget/CMakeFiles/OpenMMCuda_d.dir/__/src/kernels/gpu.o
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp: In function 潎oid* gpuInit(int)?
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp:1498: error: 滵emset?was not declared in this scope
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp: In function 潎oid gpuSetup(void*)?
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp:2099: warning: deprecated conversion from string constant to 歊har*?
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp:2100: warning: deprecated conversion from string constant to 歊har*?
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp:2101: warning: deprecated conversion from string constant to 歊har*?
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp:2102: warning: deprecated conversion from string constant to 歊har*?
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp:2103: warning: deprecated conversion from string constant to 歊har*?
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp:2104: warning: deprecated conversion from string constant to 歊har*?
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp:2105: warning: deprecated conversion from string constant to 歊har*?
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp:2106: warning: deprecated conversion from string constant to 歊har*?
make[2]: *** [platforms/cuda/sharedTarget/CMakeFiles/OpenMMCuda_d.dir/__/src/kernels/gpu.o] Error 1
make[1]: *** [platforms/cuda/sharedTarget/CMakeFiles/OpenMMCuda_d.dir/all] Error 2
make: *** [all] Error 2
Any suggestions?
Jyh-Shyong
[ 63%] Building CXX object platforms/cuda/sharedTarget/CMakeFiles/OpenMMCuda_d.dir/__/src/CudaStreamFactory.o
[ 63%] Building CXX object platforms/cuda/sharedTarget/CMakeFiles/OpenMMCuda_d.dir/__/src/kernels/gpu.o
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp: In function 潎oid* gpuInit(int)?
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp:1498: error: 滵emset?was not declared in this scope
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp: In function 潎oid gpuSetup(void*)?
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp:2099: warning: deprecated conversion from string constant to 歊har*?
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp:2100: warning: deprecated conversion from string constant to 歊har*?
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp:2101: warning: deprecated conversion from string constant to 歊har*?
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp:2102: warning: deprecated conversion from string constant to 歊har*?
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp:2103: warning: deprecated conversion from string constant to 歊har*?
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp:2104: warning: deprecated conversion from string constant to 歊har*?
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp:2105: warning: deprecated conversion from string constant to 歊har*?
/scratch/OpenMMPreview2-Source/src/platforms/cuda/src/kernels/gpu.cpp:2106: warning: deprecated conversion from string constant to 歊har*?
make[2]: *** [platforms/cuda/sharedTarget/CMakeFiles/OpenMMCuda_d.dir/__/src/kernels/gpu.o] Error 1
make[1]: *** [platforms/cuda/sharedTarget/CMakeFiles/OpenMMCuda_d.dir/all] Error 2
make: *** [all] Error 2
Any suggestions?
Jyh-Shyong
- Michael Sherman
- Posts: 806
- Joined: Fri Apr 01, 2005 6:05 pm
RE: OPENMM installation problem
The output you sent contains a real error and a bunch of warnings. The real error is that it couldn't find memset(). That should be defined in header #include <cstring>, not <string>. So you might need to change that include fine name also.
The warnings are complaining that a string constant is being passed to a "char *" (writable) but string constants should only be passed to "const char *" so they won't get modified. This warning is harmless except that the messages tend to obscure the real problems.
Sherm
The warnings are complaining that a string constant is being passed to a "char *" (writable) but string constants should only be passed to "const char *" so they won't get modified. This warning is harmless except that the messages tend to obscure the real problems.
Sherm
- Jyh-Shyong Ho
- Posts: 5
- Joined: Thu Jan 15, 2009 8:45 pm
RE: OPENMM installation problem
Thanks, it works now, the compilation and the installation completed without errors.