Opened 8 years ago

Closed 7 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:


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@…> 8 years ago.

Download all attachments as: .zip

Change History (4)

Changed 8 years ago by Sebastian Mingramm <s.mingramm@…>

Attachment: build.log added

comment:1 Changed 8 years ago by Steven Watanabe

Component: Building Boostmpi
Owner: set to Douglas Gregor

comment:2 Changed 7 years ago by Matthias Troyer

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 Changed 7 years ago by Matthias Troyer

Resolution: duplicate
Status: newclosed

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

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain Douglas Gregor.
The resolution will be deleted.

Add Comment

E-mail address and name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.