|
Boost : |
Subject: [boost] Status of Python 3 support for Boost.MPI?
From: Steve M. Robbins (steve_at_[hidden])
Date: 2010-09-07 02:16:43
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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk