Hello, I'm having troubles trying to pass a uuid with MPI routines. Since a uuid is serialized as a primitive type, I was expecting it could be declared as an MPI datatype using: BOOST_IS_MPI_DATATYPE(boost::uuids::uuid) and sent via MPI routines. I've written a short program to illustrate the problem. It compiles but produces a "segmentation fault" error when I'm trying to run it: #include <iostream> #include <boost/mpi.hpp> #include <boost/uuid/uuid.hpp> #include <boost/uuid/uuid_io.hpp> #include <boost/uuid/uuid_generators.hpp> #include <boost/uuid/uuid_serialize.hpp> BOOST_IS_MPI_DATATYPE(boost::uuids::uuid) int main() { boost::mpi::environment env; boost::mpi::communicator world; if (world.rank() == 0) { boost::uuids::uuid u; u = boost::uuids::random_generator()(); std::cout << "u = " << u << std::endl; world.send(1, 0, u); } else { boost::uuids::uuid v; world.recv(0, 0, v); std::cout << "v = " << v << std::endl; } return 0; } Does anybody have an idea whether passing uuids would be possible, and if yes what is wrong in my code? Thank you, Didier Devaurs