
Hi, I just tried to build boost 1.44 using Python 3.1 and two files in mpi failed to compile. Is this easy to fix? "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -g -D_REENTRANT -pthread -fPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_MPI_DYN_LINK=1 -DBOOST_MPI_PYTHON_DYN_LINK=1 -DBOOST_PYTHON_DYN_LINK=1 -DNDEBUG -I"." -I"/usr/include/python3.1" -I"/usr/lib/openmpi/include" -I"/usr/lib/openmpi/include/openmpi" -c -o "bin.v2/libs/mpi/build/gcc-4.4.5/release/debug-symbols-on/python-3.1/threading-multi/python/datatypes.o" "libs/mpi/src/python/datatypes.cpp" In file included from ./boost/python/detail/wrap_python.hpp:50, from ./boost/python/detail/prefix.hpp:13, from ./boost/python/ssize_t.hpp:9, from ./boost/python/object.hpp:8, from ./boost/mpi/python/serialize.hpp:25, from libs/mpi/src/python/datatypes.cpp:13: /usr/include/python3.1/pyconfig.h:1117:1: warning: "_POSIX_C_SOURCE" redefined In file included from /usr/include/c++/4.4/x86_64-linux-gnu/bits/os_defines.h:39, from /usr/include/c++/4.4/x86_64-linux-gnu/bits/c++config.h:243, from /usr/include/c++/4.4/bits/stl_algobase.h:60, from /usr/include/c++/4.4/bits/stl_tree.h:62, from /usr/include/c++/4.4/map:60, from /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h:36, from /usr/lib/openmpi/include/mpi.h:1886, from ./boost/mpi/config.hpp:20, from ./boost/mpi/python/config.hpp:15, from ./boost/mpi/python/serialize.hpp:23, from libs/mpi/src/python/datatypes.cpp:13: /usr/include/features.h:158:1: warning: this is the location of the previous definition In file included from ./boost/python/detail/wrap_python.hpp:50, from ./boost/python/detail/prefix.hpp:13, from ./boost/python/ssize_t.hpp:9, from ./boost/python/object.hpp:8, from ./boost/mpi/python/serialize.hpp:25, from libs/mpi/src/python/datatypes.cpp:13: /usr/include/python3.1/pyconfig.h:1139:1: warning: "_XOPEN_SOURCE" redefined In file included from /usr/include/c++/4.4/x86_64-linux-gnu/bits/os_defines.h:39, from /usr/include/c++/4.4/x86_64-linux-gnu/bits/c++config.h:243, from /usr/include/c++/4.4/bits/stl_algobase.h:60, from /usr/include/c++/4.4/bits/stl_tree.h:62, from /usr/include/c++/4.4/map:60, from /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h:36, from /usr/lib/openmpi/include/mpi.h:1886, from ./boost/mpi/config.hpp:20, from ./boost/mpi/python/config.hpp:15, from ./boost/mpi/python/serialize.hpp:23, from libs/mpi/src/python/datatypes.cpp:13: /usr/include/features.h:160:1: warning: this is the location of the previous definition libs/mpi/src/python/datatypes.cpp: In function ‘void boost::mpi::python::export_datatypes()’: libs/mpi/src/python/datatypes.cpp:20: error: ‘PyInt_Type’ was not declared in this scope In file included from ./boost/function/detail/prologue.hpp:17, from ./boost/function/function_template.hpp:13, from ./boost/function/detail/maybe_include.hpp:13, from ./boost/function/function0.hpp:11, from ./boost/python/errors.hpp:13, from ./boost/python/handle.hpp:11, from ./boost/python/converter/arg_to_python_base.hpp:7, from ./boost/python/converter/arg_to_python.hpp:14, from ./boost/python/call.hpp:15, from ./boost/python/object_core.hpp:14, from ./boost/python/object.hpp:9, from ./boost/mpi/python/serialize.hpp:25, from libs/mpi/src/python/datatypes.cpp:13: ./boost/function/function_base.hpp: In static member function ‘static void boost::detail::function::functor_manager_common<Functor>::manage_small(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_saver<bool>]’: ./boost/function/function_base.hpp:360: instantiated from ‘static void boost::detail::function::functor_manager<Functor>::manager(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type, mpl_::true_) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_saver<bool>]’ ./boost/function/function_base.hpp:406: instantiated from ‘static void boost::detail::function::functor_manager<Functor>::manager(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type, boost::detail::function::function_obj_tag) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_saver<bool>]’ ./boost/function/function_base.hpp:434: instantiated from ‘static void boost::detail::function::functor_manager<Functor>::manage(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_saver<bool>]’ ./boost/function/function_template.hpp:913: instantiated from ‘void boost::function3<R, T1, T2, T3>::assign_to(Functor) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_saver<bool>, R = void, T0 = boost::mpi::packed_oarchive&, T1 = const boost::python::api::object&, T2 = const unsigned int]’ ./boost/function/function_template.hpp:722: instantiated from ‘boost::function3<R, T1, T2, T3>::function3(Functor, typename boost::enable_if_c<boost::type_traits::ice_not::value, int>::type) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_saver<bool>, R = void, T0 = boost::mpi::packed_oarchive&, T1 = const boost::python::api::object&, T2 = const unsigned int]’ ./boost/mpi/python/serialize.hpp:276: instantiated from ‘void boost::python::detail::direct_serialization_table<IArchiver, OArchiver>::register_type(const T&, PyTypeObject*) [with T = bool, IArchiver = boost::mpi::packed_iarchive, OArchiver = boost::mpi::packed_oarchive]’ ./boost/mpi/python/serialize.hpp:389: instantiated from ‘void boost::python::register_serialized(const T&, PyTypeObject*) [with IArchiver = boost::mpi::packed_iarchive, OArchiver = boost::mpi::packed_oarchive, T = bool]’ ./boost/mpi/python/serialize.hpp:534: instantiated from ‘void boost::mpi::python::register_serialized(const T&, PyTypeObject*) [with T = bool]’ libs/mpi/src/python/datatypes.cpp:21: instantiated from here ./boost/function/function_base.hpp:321: warning: dereferencing type-punned pointer will break strict-aliasing rules ./boost/function/function_base.hpp:325: warning: dereferencing type-punned pointer will break strict-aliasing rules ./boost/function/function_base.hpp: In static member function ‘static void boost::detail::function::functor_manager_common<Functor>::manage_small(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_loader<bool>]’: ./boost/function/function_base.hpp:360: instantiated from ‘static void boost::detail::function::functor_manager<Functor>::manager(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type, mpl_::true_) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_loader<bool>]’ ./boost/function/function_base.hpp:406: instantiated from ‘static void boost::detail::function::functor_manager<Functor>::manager(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type, boost::detail::function::function_obj_tag) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_loader<bool>]’ ./boost/function/function_base.hpp:434: instantiated from ‘static void boost::detail::function::functor_manager<Functor>::manage(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_loader<bool>]’ ./boost/function/function_template.hpp:913: instantiated from ‘void boost::function3<R, T1, T2, T3>::assign_to(Functor) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_loader<bool>, R = void, T0 = boost::mpi::packed_iarchive&, T1 = boost::python::api::object&, T2 = const unsigned int]’ ./boost/function/function_template.hpp:722: instantiated from ‘boost::function3<R, T1, T2, T3>::function3(Functor, typename boost::enable_if_c<boost::type_traits::ice_not::value, int>::type) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_loader<bool>, R = void, T0 = boost::mpi::packed_iarchive&, T1 = boost::python::api::object&, T2 = const unsigned int]’ ./boost/mpi/python/serialize.hpp:276: instantiated from ‘void boost::python::detail::direct_serialization_table<IArchiver, OArchiver>::register_type(const T&, PyTypeObject*) [with T = bool, IArchiver = boost::mpi::packed_iarchive, OArchiver = boost::mpi::packed_oarchive]’ ./boost/mpi/python/serialize.hpp:389: instantiated from ‘void boost::python::register_serialized(const T&, PyTypeObject*) [with IArchiver = boost::mpi::packed_iarchive, OArchiver = boost::mpi::packed_oarchive, T = bool]’ ./boost/mpi/python/serialize.hpp:534: instantiated from ‘void boost::mpi::python::register_serialized(const T&, PyTypeObject*) [with T = bool]’ libs/mpi/src/python/datatypes.cpp:21: instantiated from here ./boost/function/function_base.hpp:321: warning: dereferencing type-punned pointer will break strict-aliasing rules ./boost/function/function_base.hpp:325: warning: dereferencing type-punned pointer will break strict-aliasing rules ./boost/function/function_base.hpp: In static member function ‘static void boost::detail::function::functor_manager_common<Functor>::manage_small(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_saver<double>]’: ./boost/function/function_base.hpp:360: instantiated from ‘static void boost::detail::function::functor_manager<Functor>::manager(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type, mpl_::true_) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_saver<double>]’ ./boost/function/function_base.hpp:406: instantiated from ‘static void boost::detail::function::functor_manager<Functor>::manager(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type, boost::detail::function::function_obj_tag) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_saver<double>]’ ./boost/function/function_base.hpp:434: instantiated from ‘static void boost::detail::function::functor_manager<Functor>::manage(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_saver<double>]’ ./boost/function/function_template.hpp:913: instantiated from ‘void boost::function3<R, T1, T2, T3>::assign_to(Functor) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_saver<double>, R = void, T0 = boost::mpi::packed_oarchive&, T1 = const boost::python::api::object&, T2 = const unsigned int]’ ./boost/function/function_template.hpp:722: instantiated from ‘boost::function3<R, T1, T2, T3>::function3(Functor, typename boost::enable_if_c<boost::type_traits::ice_not::value, int>::type) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_saver<double>, R = void, T0 = boost::mpi::packed_oarchive&, T1 = const boost::python::api::object&, T2 = const unsigned int]’ ./boost/mpi/python/serialize.hpp:276: instantiated from ‘void boost::python::detail::direct_serialization_table<IArchiver, OArchiver>::register_type(const T&, PyTypeObject*) [with T = double, IArchiver = boost::mpi::packed_iarchive, OArchiver = boost::mpi::packed_oarchive]’ ./boost/mpi/python/serialize.hpp:389: instantiated from ‘void boost::python::register_serialized(const T&, PyTypeObject*) [with IArchiver = boost::mpi::packed_iarchive, OArchiver = boost::mpi::packed_oarchive, T = double]’ ./boost/mpi/python/serialize.hpp:534: instantiated from ‘void boost::mpi::python::register_serialized(const T&, PyTypeObject*) [with T = double]’ libs/mpi/src/python/datatypes.cpp:22: instantiated from here ./boost/function/function_base.hpp:321: warning: dereferencing type-punned pointer will break strict-aliasing rules ./boost/function/function_base.hpp:325: warning: dereferencing type-punned pointer will break strict-aliasing rules ./boost/function/function_base.hpp: In static member function ‘static void boost::detail::function::functor_manager_common<Functor>::manage_small(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_loader<double>]’: ./boost/function/function_base.hpp:360: instantiated from ‘static void boost::detail::function::functor_manager<Functor>::manager(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type, mpl_::true_) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_loader<double>]’ ./boost/function/function_base.hpp:406: instantiated from ‘static void boost::detail::function::functor_manager<Functor>::manager(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type, boost::detail::function::function_obj_tag) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_loader<double>]’ ./boost/function/function_base.hpp:434: instantiated from ‘static void boost::detail::function::functor_manager<Functor>::manage(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_loader<double>]’ ./boost/function/function_template.hpp:913: instantiated from ‘void boost::function3<R, T1, T2, T3>::assign_to(Functor) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_loader<double>, R = void, T0 = boost::mpi::packed_iarchive&, T1 = boost::python::api::object&, T2 = const unsigned int]’ ./boost/function/function_template.hpp:722: instantiated from ‘boost::function3<R, T1, T2, T3>::function3(Functor, typename boost::enable_if_c<boost::type_traits::ice_not::value, int>::type) [with Functor = boost::python::detail::direct_serialization_table<boost::mpi::packed_iarchive, boost::mpi::packed_oarchive>::default_loader<double>, R = void, T0 = boost::mpi::packed_iarchive&, T1 = boost::python::api::object&, T2 = const unsigned int]’ ./boost/mpi/python/serialize.hpp:276: instantiated from ‘void boost::python::detail::direct_serialization_table<IArchiver, OArchiver>::register_type(const T&, PyTypeObject*) [with T = double, IArchiver = boost::mpi::packed_iarchive, OArchiver = boost::mpi::packed_oarchive]’ ./boost/mpi/python/serialize.hpp:389: instantiated from ‘void boost::python::register_serialized(const T&, PyTypeObject*) [with IArchiver = boost::mpi::packed_iarchive, OArchiver = boost::mpi::packed_oarchive, T = double]’ ./boost/mpi/python/serialize.hpp:534: instantiated from ‘void boost::mpi::python::register_serialized(const T&, PyTypeObject*) [with T = double]’ libs/mpi/src/python/datatypes.cpp:22: instantiated from here ./boost/function/function_base.hpp:321: warning: dereferencing type-punned pointer will break strict-aliasing rules ./boost/function/function_base.hpp:325: warning: dereferencing type-punned pointer will break strict-aliasing rules ...failed gcc.compile.c++ bin.v2/libs/mpi/build/gcc-4.4.5/release/debug-symbols-on/python-3.1/threading-multi/python/datatypes.o... and "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -g -D_REENTRANT -pthread -fPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_MPI_DYN_LINK=1 -DBOOST_MPI_PYTHON_DYN_LINK=1 -DBOOST_PYTHON_DYN_LINK=1 -DNDEBUG -I"." -I"/usr/include/python3.1" -I"/usr/lib/openmpi/include" -I"/usr/lib/openmpi/include/openmpi" -c -o "bin.v2/libs/mpi/build/gcc-4.4.5/release/debug-symbols-on/python-3.1/threading-multi/python/py_environment.o" "libs/mpi/src/python/py_environment.cpp" libs/mpi/src/python/py_environment.cpp: In function ‘bool boost::mpi::python::mpi_init(boost::python::list, bool)’: libs/mpi/src/python/py_environment.cpp:53: error: cannot convert ‘char**’ to ‘wchar_t**’ for argument ‘2’ to ‘void PySys_SetArgv(int, wchar_t**)’ ...failed gcc.compile.c++ bin.v2/libs/mpi/build/gcc-4.4.5/release/debug-symbols-on/python-3.1/threading-multi/python/py_environment.o... Thanks, -Steve