glotzerlab / hoomd-blue

Molecular dynamics and Monte Carlo soft matter simulation on GPUs.
http://glotzerlab.engin.umich.edu/hoomd-blue
BSD 3-Clause "New" or "Revised" License
336 stars 131 forks source link

compile failes on Comet and Stampede #166

Closed joaander closed 8 years ago

joaander commented 8 years ago

Original report by me.


../../md/_md.so: undefined reference to boost::serialization::array_wrapper<unsigned int> const boost::serialization::make_array<unsigned long>(unsigned int*, unsigned long)' ../../md/_md.so: undefined reference toboost::serialization::array_wrapper const boost::serialization::make_array(double, unsigned long)' ../../_hoomd.so: undefined reference to `boost::serialization::array_wrapper const boost::serialization::make_array(float, unsigned long)'

joaander commented 8 years ago

Not a bug in hoomd. array_wrapper is a template in boost/serialization/array.hpp and the compiler should instantiate in any compilation unit that needs it. I suspect this is a compiler bug in the intel compiler.

Workaround: Use boost 1.56.0.

joaander commented 8 years ago

Original comment by Pablo Damasceno (Bitbucket: pfd, GitHub: pfdamasceno).


@joaander, I believe the latest commit compiles on comet but when I imported hoomd I got a seg fault. I reverted back to tag 2.0.1 and everything is fine.

For my own future reference: my cmake looked like:

cmake ../ -DCMAKE_INSTALL_PREFIX=${SOFTWARE_ROOT}/lib/python -DBOOST_ROOT=/oasis/projects/nsf/${PROJ}/${USER}/software
joaander commented 8 years ago

Interesting. I am unable to test actual compute jobs on Comet right now because we are in between allocations. You could try building with gcc. I've had nothing but trouble with the intel compilers of late, they are not able to even build the master branch of hoomd.

The 'latest' docs on readthedocs include Comet module loads needed to build hoomd with gcc: http://hoomd-blue.readthedocs.io/en/latest/compiling.html . These were tested with the master branch that no longer requires boost::python and some other boost libraries.