Page 1 of 1

OPENMM installation problem

Posted: Mon Feb 23, 2009 6:09 pm
by c00jsh00
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

RE: OPENMM installation problem

Posted: Mon Feb 23, 2009 6:19 pm
by peastman
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

RE: OPENMM installation problem

Posted: Mon Feb 23, 2009 9:52 pm
by c00jsh00
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?

RE: OPENMM installation problem

Posted: Tue Feb 24, 2009 10:00 am
by sherm
I think you want #include <cstdlib> rather than <stdlib>.

Sherm

RE: OPENMM installation problem

Posted: Tue Feb 24, 2009 5:35 pm
by c00jsh00
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

RE: OPENMM installation problem

Posted: Tue Feb 24, 2009 6:03 pm
by sherm
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

RE: OPENMM installation problem

Posted: Tue Feb 24, 2009 6:42 pm
by c00jsh00
Thanks, it works now, the compilation and the installation completed without errors.