Boost logo

Boost Users :

Subject: [Boost-users] Boost.MPI 1.44.0 fails to build when BOOST_MPI_HOMOGENEOUS is set
From: Riccardo Murri (riccardo.murri_at_[hidden])
Date: 2010-11-04 17:45:23


Hello,

I'm trying to build Boost.MPI from the 1.44.0 sources; if I uncomment
the `#define BOOST_MPI_HOMOGENEOUS` line in `boost/mpi/config.hpp`,
then build fails with errors like this one (full compile log
attached):

    ./boost/mpi/detail/binary_buffer_iprimitive.hpp: In member
function ‘void boost::mpi::binary_buffer_iprimitive::load(T&) [with T
= boost::archive::class_id_optional_type]’:
    ./boost/archive/detail/iserializer.hpp:107: instantiated from
‘static void boost::archive::load_access::load_primitive(Archive&, T&)
[with Archive = boost::mpi::packed_iarchive, T =
boost::archive::class_id_optional_type]’
    ./boost/archive/detail/iserializer.hpp:356: instantiated from
‘static void boost::archive::detail::load_non_pointer_type<Archive>::load_primitive::invoke(Archive&,
T&) [with T = boost::archive::class_id_optional_type, Archive =
boost::mpi::packed_iarchive]’
    ./boost/archive/detail/iserializer.hpp:433: instantiated from
‘static void boost::archive::detail::load_non_pointer_type<Archive>::invoke(Archive&,
T&) [with T = boost::archive::class_id_optional_type, Archive =
boost::mpi::packed_iarchive]’
    ./boost/archive/detail/iserializer.hpp:586: instantiated from
‘void boost::archive::load(Archive&, T&) [with Archive =
boost::mpi::packed_iarchive, T =
boost::archive::class_id_optional_type]’
    ./boost/archive/detail/common_iarchive.hpp:66: instantiated from
‘void boost::archive::detail::common_iarchive<Archive>::load_override(T&,
int) [with T = boost::archive::class_id_optional_type, Archive =
boost::mpi::packed_iarchive]’
    ./boost/mpi/packed_iarchive.hpp:101: instantiated from ‘void
boost::mpi::packed_iarchive::load_override(T&, int, mpl_::false_)
[with T = boost::archive::class_id_optional_type]’
    ./boost/mpi/packed_iarchive.hpp:118: instantiated from ‘void
boost::mpi::packed_iarchive::load_override(T&, int) [with T =
boost::archive::class_id_optional_type]’
    ./boost/archive/detail/interface_iarchive.hpp:60: instantiated
from ‘Archive& boost::archive::detail::interface_iarchive<Archive>::operator>>(T&)
[with T = boost::archive::class_id_optional_type, Archive =
boost::mpi::packed_iarchive]’
    ./boost/archive/detail/common_iarchive.hpp:54: instantiated from
‘void boost::archive::detail::common_iarchive<Archive>::vload(boost::archive::class_id_optional_type&)
[with Archive = boost::mpi::packed_iarchive]’
    libs/mpi/src/request.cpp:120: instantiated from here
    ./boost/mpi/detail/binary_buffer_iprimitive.hpp:87: error: no
matching function for call to
‘assertion_failed(mpl_::failed************
boost::serialization::is_bitwise_serializable<boost::archive::class_id_optional_type>::************)’

Boost 1.43.0 compiles just fine with BOOST_MPI_HOMOGENEOUS uncommented.

I'm using GCC 4.4.5 on Ubuntu 10.10; OpenMPI 1.4.1 installed from the
official Ubuntu package.

Is this an issue with the sources?

Best regards,
Riccardo

-- 
Riccardo Murri, Hadlaubstr. 150, 8006 Zürich (CH)



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net