Closed joaander closed 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.
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
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.
Original report by me.
../../md/_md.so: undefined reference to 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)'
boost::serialization::array_wrapper<unsigned int> const boost::serialization::make_array<unsigned long>(unsigned int*, unsigned long)' ../../md/_md.so: undefined reference to
boost::serialization::array_wrapper