Opened 13 years ago

Closed 12 years ago

#3717 closed Bugs (duplicate)

boost.python doesn't compile with "using mpi" and python-3.1

Reported by: Sebastian Mingramm <s.mingramm@…> Owned by: Douglas Gregor
Milestone: Boost 1.42.0 Component: mpi
Version: Boost 1.41.0 Severity: Problem
Keywords: Cc:

Description

The following two errors occurred when I tried to build boost 1.41 on gentoo with python 3.1. Complete log attached.

gcc.compile.c++ bin.v2/libs/mpi/build/gcc-4.4/gentooreleas /threading-multi/python/datatypes.o

"x86_64-pc-linux-gnu-g++" -ftemplate-depth-128 -O2 -march=x86-64 -mtune=core2 -pipe -fno-strict-aliasing -finline-functions -Wno-inline -Wall -pthread -fPIC -O2 -Wl,-O1 -Wl,-rpath -Wl,/usr/lib64 -march=x86-64 -mtune=core2 -pipe -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" -I"/usr/include/python3.1" -c -o "bin.v2/libs/mpi/build/gcc-4.4/gentoorelease/threading-multi/python/datatypes.o" "libs/mpi/src/python/datatypes.cpp"

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 gcc.compile.c++ bin.v2/libs/mpi/build/gcc-4.4/gentoorelease/threading-multi/python/py_environment.o

"x86_64-pc-linux-gnu-g++" -ftemplate-depth-128 -O2 -march=x86-64 -mtune=core2 -pipe -fno-strict-aliasing -finline-functions -Wno-inline -Wall -pthread -fPIC -O2 -Wl,-O1 -Wl,-rpath -Wl,/usr/lib64 -march=x86-64 -mtune=core2 -pipe -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" -I"/usr/include/python3.1" -c -o "bin.v2/libs/mpi/build/gcc-4.4/gentoorelease/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)' gcc.compile.c++ bin.v2/libs/mpi/build/gcc-4.4/gentoorelease/threading-multi/python/py_nonblocking.o

Attachments (1)

build.log (24.3 KB ) - added by Sebastian Mingramm <s.mingramm@…> 13 years ago.

Download all attachments as: .zip

Change History (4)

by Sebastian Mingramm <s.mingramm@…>, 13 years ago

Attachment: build.log added

comment:1 by Steven Watanabe, 13 years ago

Component: Building Boostmpi
Owner: set to Douglas Gregor

comment:2 by Matthias Troyer, 12 years ago

The main problem seems to be that PySys_SetArgv uses wchar_t while MPI uses char as the type for argv. Short of converting the string type of all arguments back and forth I don't see a reasonable solution.

comment:3 by Matthias Troyer, 12 years ago

Resolution: duplicate
Status: newclosed

#4657 is a duplicate but contains a proposed patch. I'm thus closing this one as duplicate.

Note: See TracTickets for help on using tickets.