[MPI] Compile problem while building Boost 1.35.0

Hi, all, I'm trying to build Boost on linux using bjam. Everything seems to compile smoothly except one file in Boost.MPI. The error is lengthy, but the first part reads: intel-linux.compile.c++ bin.v2/libs/mpi/build/intel-linux/release/threading-multi/datatypes.o ./boost/mpi/python/serialize.hpp(321): error: no operator "<<" matches these operands operand types are: boost::mpi::packed_oarchive << boost::mpl::if_<boost::is_fundamental<long>, long, long &>::type ar << extract<Type>(obj)(); ^ detected during: instantiation of "void boost::python::detail::direct_serialization_table<IArchiver, OArchiver>::default_saver<T>::operator()(OArchiver &, const boost::python::api::object &, unsigned int) [with IArchiver=boost::mpi::packed_iarchive, OArchiver=boost::mpi::packed_oarchive, T=long]" at line 158 of "./boost/function/function_template.hpp" My compiler is Intel/9.1 and the implementation of MPI is openmpi 1.2.4. I've also tried to build using intel/10.1, and I got the same error. My user-config.jam, the first several lines of output from bjam --debug-configuration, and the section of the bjam output with all the errors is posted at http://utilitybase.com/paste/6780 Thanks

Adam Stephens wrote:
Hi, all,
I'm trying to build Boost on linux using bjam. Everything seems to compile smoothly except one file in Boost.MPI. The error is lengthy, but the first part reads:
intel-linux.compile.c++ bin.v2/libs/mpi/build/intel-linux/release/threading-multi/datatypes.o ./boost/mpi/python/serialize.hpp(321): error: no operator "<<" matches these operands operand types are: boost::mpi::packed_oarchive << boost::mpl::if_<boost::is_fundamental<long>, long, long &>::type ar << extract<Type>(obj)(); ^ detected during: instantiation of "void boost::python::detail::direct_serialization_table<IArchiver, OArchiver>::default_saver<T>::operator()(OArchiver &, const boost::python::api::object &, unsigned int) [with IArchiver=boost::mpi::packed_iarchive, OArchiver=boost::mpi::packed_oarchive, T=long]" at line 158 of "./boost/function/function_template.hpp"
My compiler is Intel/9.1 and the implementation of MPI is openmpi 1.2.4. I've also tried to build using intel/10.1, and I got the same error.
Thanks for reporting this. We have the Intel compilers on one of our clusters, so I'll take a shot at fixing this today. - Doug
participants (2)
-
Adam Stephens
-
Douglas Gregor