Ticket #3717 (closed Bugs: duplicate)

Opened 7 years ago

Last modified 7 years ago

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

Reported by: Sebastian Mingramm <s.mingramm@…> Owned by: dgregor
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


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

Change History

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

comment:1 Changed 7 years ago by steven_watanabe

  • Owner set to dgregor
  • Component changed from Building Boost to mpi

comment:2 Changed 7 years ago by 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 troyer

  • Status changed from new to closed
  • Resolution set to duplicate

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


Add a comment

Modify Ticket

Change Properties
<Author field>
as closed
The resolution will be deleted. Next status will be 'reopened'

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

Note: See TracTickets for help on using tickets.