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: | 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)
Change History (4)
by , 13 years ago
comment:1 by , 13 years ago
Component: | Building Boost → mpi |
---|---|
Owner: | set to |
comment:2 by , 12 years ago
comment:3 by , 12 years ago
Resolution: | → duplicate |
---|---|
Status: | new → closed |
#4657 is a duplicate but contains a proposed patch. I'm thus closing this one as duplicate.
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.