Building Boost 1.40.0 with MPI on SUN HPC Developer distribution fails

Hi, I'm trying to use the Boost MPI library in a virtual Opensolaris environment (specifically the Sun HPC Software, Developer Edition 1.0 for OpenSolaris). System compiler is the sun studio 12u1 compiler. MPI is provided by the Sun HPC ClusterTools which essentially means Open MPI. Trying to build results in following error messages: sun.compile.c++ bin.v2/libs/mpi/build/sun/release/stdlib-sun-stlport/threading-multi/python/py_communicator.o "./boost/mpi/graph_communicator.hpp", line 62: Warning: comm_ptr hides boost::mpi::communicator::comm_ptr. "./boost/mpi/intercommunicator.hpp", line 62: Warning: comm_ptr hides boost::mpi::communicator::comm_ptr. "libs/mpi/src/python/py_communicator.cpp", line 107: Error: Could not find a match for boost::python::class_<b oost::mpi::communicator, boost::python::detail::not_specified, boost::python::detail::not_specified, boost::py thon::detail::not_specified>::def<boost::python::class_<boost::mpi::communicator, boost::python::detail::not_s pecified, boost::python::detail::not_specified, boost::python::detail::not_specified>::Derived>(const char[12] , bool(*)()const) needed in boost::mpi::python::export_communicator(). "libs/mpi/src/python/py_communicator.cpp", line 107: Error: Could not find a match for boost::python::class_<b oost::mpi::communicator, boost::python::detail::not_specified, boost::python::detail::not_specified, boost::py thon::detail::not_specified>::def<boost::python::class_<boost::mpi::communicator, boost::python::detail::not_s pecified, boost::python::detail::not_specified, boost::python::detail::not_specified>::Derived>(const char[12] , bool(*)()const) needed in boost::mpi::python::export_communicator(). "libs/mpi/src/python/py_communicator.cpp", line 107: Error: Could not find a match for boost::python::class_<b oost::mpi::communicator, boost::python::detail::not_specified, boost::python::detail::not_specified, boost::py thon::detail::not_specified>::def<boost::python::class_<boost::mpi::communicator, boost::python::detail::not_s pecified, boost::python::detail::not_specified, boost::python::detail::not_specified>::Derived>(const char[12] , bool(*)()const) needed in boost::mpi::python::export_communicator(). "libs/mpi/src/python/py_communicator.cpp", line 107: Error: Could not find a match for boost::python::class_<b oost::mpi::communicator, boost::python::detail::not_specified, boost::python::detail::not_specified, boost::py thon::detail::not_specified>::def<boost::python::class_<boost::mpi::communicator, boost::python::detail::not_specified, boost::python::detail::not_specified, boost::python::detail::not_specified>::Derived>(const char[12], bool(*)()const) needed in boost::mpi::python::export_communicator(). 4 Error(s) and 2 Warning(s) detected. "CC" -library=stlport4 -xO4 -mt -erroff=%none -KPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_MPI_DYN_LINK=1 -DBOOST_MPI_PYTHON_DYN_LINK=1 -DBOOST_PYTHON_DYN_LINK=1 -DNDEBUG -I"." -I"/opt/SUNWhpc/HPC8.1/sun/include" -I"/opt/SUNWhpc/HPC8.1/sun/include/openmpi" -I"/usr/include/python2.4" -c -o "bin.v2/libs/mpi/build/sun/release/stdlib-sun-stlport/threading-multi/python/py_communicator.o" "libs/mpi/src/python/py_communicator.cpp" sun.compile.c++ bin.v2/libs/mpi/build/sun/release/stdlib-sun-stlport/threading-multi/python/datatypes.o "./boost/mpi/graph_communicator.hpp", line 62: Warning: comm_ptr hides boost::mpi::communicator::comm_ptr. "./boost/mpi/intercommunicator.hpp", line 62: Warning: comm_ptr hides boost::mpi::communicator::comm_ptr. "./boost/mpi/python/serialize.hpp", line 276: Error: Could not find a match for boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::register_type<boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::T>(boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_saver<long>, boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_loader<long>, const long, _typeobject*) needed in boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::register_type<long>(const long&, _typeobject*). "./boost/mpi/python/serialize.hpp", line 389: Where: While instantiating "boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::register_type<long>(const long&, _typeobject*)". "./boost/mpi/python/serialize.hpp", line 389: Where: Instantiated from boost::python::register_serialized<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive, long>(const long&, _typeobject*). "./boost/mpi/python/serialize.hpp", line 534: Where: Instantiated from boost::mpi::python::register_serialized<long>(const long&, _typeobject*). "libs/mpi/src/python/datatypes.cpp", line 20: Where: Instantiated from non-template code. 1 Error(s) and 2 Warning(s) detected. "CC" -library=stlport4 -xO4 -mt -erroff=%none -KPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_MPI_DYN_LINK=1 -DBOOST_MPI_PYTHON_DYN_LINK=1 -DBOOST_PYTHON_DYN_LINK=1 -DNDEBUG -I"." -I"/opt/SUNWhpc/HPC8.1/sun/include" -I"/opt/SUNWhpc/HPC8.1/sun/include/openmpi" -I"/usr/include/python2.4" -c -o "bin.v2/libs/mpi/build/sun/release/stdlib-sun-stlport/threading-multi/python/datatypes.o" "libs/mpi/src/python/datatypes.cpp" I would be nice if someone helped me resolving this issue. A second problem was the missinterpretation of ">>" in a template argument by the sun compiler. I resolved that by changing the file "boost/archive/detail/register_archive.hpp". (I probably overcompensated with white spaces) 57c57 < get_counter<Archive>::next adjust_counter(get_counter<Archive>::type);\ ---
get_counter< Archive >::next adjust_counter(get_counter< Archive ::type);\
60,62c60,62 < get_counter<Archive>::type) { \ < ptr_serialization_support<Archive, Serializable> x; \ < instantiate_ptr_serialization(s, get_counter<Archive>::prior()); \ ---
get_counter< Archive >::type)
{ \
ptr_serialization_support< Archive, Serializable >
x; \
instantiate_ptr_serialization(s, get_counter< Archive ::prior()); \
84c84 < BOOST_DEDUCED_TYPENAME _ptr_serialization_support<Archive, Serializable>::type \ ---
BOOST_DEDUCED_TYPENAME _ptr_serialization_support< Archive, Serializable >::type \
ciao, Volker
participants (1)
-
Volker Mosert