[C++-sig] Problem Crosscompiling boost python modules

Simon Norberg simon at dackbrann.net
Sun Nov 11 17:11:42 CET 2007


Hello,
I am trying to crosscompile my boost-python module with mingw creating a 
windows module. After alot of problems trying to cross compile boost 
python i got it pre compiled from http://gforge.inria.fr/frs/?group_id=79.
I can crosscompile this small test code :
http://pastebin.com/f569662b8
with
i586-mingw32msvc-g++ hello.cpp -shared -o hello.pyd 
-I/usr/local/i586-mingw32/include/soci/ 
-I/usr/local/i586-mingw32/include/soci/sqlite3/ 
-I/usr/local/i586-mingw32/include -I /usr/local/i586-mingw32/include/ -I 
/usr/local/i586-mingw32/include/python/ -I 
/usr/i586-mingw32msvc/include/ -L/usr/local/i586-mingw32//lib  
/usr/local/i586-mingw32/lib/libsoci_core-gcc-2_2.a 
/usr/local/i586-mingw32/lib/libsoci_sqlite3-gcc-2_2.a 
/usr/local/i586-mingw32/lib/libsqlite3.a 
/usr/local/i586-mingw32/lib/libpython25.a 
/usr/local/i586-mingw32/lib/boost_python-mgw.a

but this test code: http://pastebin.com/f32c03a4e
compiled with:
i586-mingw32msvc-g++ test_db.cpp -shared -o test_db.pyd 
-I/usr/local/i586-mingw32/include/soci/ 
-I/usr/local/i586-mingw32/include/soci/sqlite3/ 
-I/usr/local/i586-mingw32/include -I /usr/local/i586-mingw32/include/ -I 
/usr/local/i586-mingw32/include/python/ -I 
/usr/i586-mingw32msvc/include/ -L/usr/local/i586-mingw32//lib  
/usr/local/i586-mingw32/lib/libsoci_core-gcc-2_2.a 
/usr/local/i586-mingw32/lib/libsoci_sqlite3-gcc-2_2.a 
/usr/local/i586-mingw32/lib/libsqlite3.a 
/usr/local/i586-mingw32/lib/libpython25.a 
/usr/local/i586-mingw32/lib/boost_python-mgw.a

results in this error:

In file included from /usr/local/i586-mingw32/include/python/Python.h:92,
                 from 
/usr/local/i586-mingw32/include/boost/python/detail/wrap_python.hpp:142,
                 from 
/usr/local/i586-mingw32/include/boost/python/detail/prefix.hpp:13,
                 from 
/usr/local/i586-mingw32/include/boost/python/module.hpp:8,                 
from test_db.cpp:45:
/usr/local/i586-mingw32/include/python/stringobject.h:63: error: 
`va_list' has not been declared
/usr/local/i586-mingw32/include/python/stringobject.h:64: error: ISO C++ 
forbids declaration of `parameter' with no type
In file included from /usr/local/i586-mingw32/include/python/Python.h:114,
                 from 
/usr/local/i586-mingw32/include/boost/python/detail/wrap_python.hpp:142,
                 from 
/usr/local/i586-mingw32/include/boost/python/detail/prefix.hpp:13,
                 from 
/usr/local/i586-mingw32/include/boost/python/module.hpp:8,                 
from test_db.cpp:45:
/usr/local/i586-mingw32/include/python/pyerrors.h:328: error: `va_list' 
has not been declared
/usr/local/i586-mingw32/include/python/pyerrors.h:329: error: ISO C++ 
forbids declaration of `va' with no type
In file included from /usr/local/i586-mingw32/include/python/Python.h:119,
                 from 
/usr/local/i586-mingw32/include/boost/python/detail/wrap_python.hpp:142,
                 from 
/usr/local/i586-mingw32/include/boost/python/detail/prefix.hpp:13,
                 from 
/usr/local/i586-mingw32/include/boost/python/module.hpp:8,                 
from test_db.cpp:45:
/usr/local/i586-mingw32/include/python/modsupport.h:23: error: `va_list' 
has not been declared
/usr/local/i586-mingw32/include/python/modsupport.h:23: error: ISO C++ 
forbids declaration of `parameter' with no type
/usr/local/i586-mingw32/include/python/modsupport.h:35: error: `va_list' 
has not been declared
/usr/local/i586-mingw32/include/python/modsupport.h:35: error: ISO C++ 
forbids declaration of `parameter' with no type
/usr/local/i586-mingw32/include/python/modsupport.h:37: error: `va_list' 
has not been declared
/usr/local/i586-mingw32/include/python/modsupport.h:37: error: ISO C++ 
forbids declaration of `parameter' with no type
/usr/local/i586-mingw32/include/python/modsupport.h:38: error: `va_list' 
has not been declared
/usr/local/i586-mingw32/include/python/modsupport.h:38: error: ISO C++ 
forbids declaration of `parameter' with no type
simon at debian:~/yapa/branches/test$ i586-mingw32msvc-g++ hello.cpp 
-shared -o hello.pyd -I/usr/local/i586-mingw32/include/soci/ 
-I/usr/local/i586-mingw32/include/soci/sqlite3/ 
-I/usr/local/i586-mingw32/include -I /usr/local/i586-mingw32/include/ -I 
/usr/local/i586-mingw32/include/python/ -I 
/usr/i586-mingw32msvc/include/ -L/usr/local/i586-mingw32//lib  
/usr/local/i586-mingw32/lib/libsoci_core-gcc-2_2.a 
/usr/local/i586-mingw32/lib/libsoci_sqlite3-gcc-2_2.a 
/usr/local/i586-mingw32/lib/libsqlite3.a 
/usr/local/i586-mingw32/lib/libpython25.a 
/usr/local/i586-mingw32/lib/boost_python-mgw.a
simon at debian:~/yapa/branches/test$ gedit hello.cpp
simon at debian:~/yapa/branches/test$ gedit test_db.cpp
simon at debian:~/yapa/branches/test$ i586-mingw32msvc-g++ test_db.cpp 
-shared -o test_db.pyd -I/usr/local/i586-mingw32/include/soci/ 
-I/usr/local/i586-mingw32/include/soci/sqlite3/ 
-I/usr/local/i586-mingw32/include -I /usr/local/i586-mingw32/include/ -I 
/usr/local/i586-mingw32/include/python/ -I 
/usr/i586-mingw32msvc/include/ -L/usr/local/i586-mingw32//lib  
/usr/local/i586-mingw32/lib/libsoci_core-gcc-2_2.a 
/usr/local/i586-mingw32/lib/libsoci_sqlite3-gcc-2_2.a 
/usr/local/i586-mingw32/lib/libsqlite3.a 
/usr/local/i586-mingw32/lib/libpython25.a 
/usr/local/i586-mingw32/lib/boost_python-mgw.a
In file included from /usr/local/i586-mingw32/include/python/Python.h:92,
                 from 
/usr/local/i586-mingw32/include/boost/python/detail/wrap_python.hpp:142,
                 from 
/usr/local/i586-mingw32/include/boost/python/detail/prefix.hpp:13,
                 from 
/usr/local/i586-mingw32/include/boost/python/module.hpp:8,                 
from test_db.cpp:45:
/usr/local/i586-mingw32/include/python/stringobject.h:63: error: 
`va_list' has not been declared
/usr/local/i586-mingw32/include/python/stringobject.h:64: error: ISO C++ 
forbids declaration of `parameter' with no type
In file included from /usr/local/i586-mingw32/include/python/Python.h:114,
                 from 
/usr/local/i586-mingw32/include/boost/python/detail/wrap_python.hpp:142,
                 from 
/usr/local/i586-mingw32/include/boost/python/detail/prefix.hpp:13,
                 from 
/usr/local/i586-mingw32/include/boost/python/module.hpp:8,                 
from test_db.cpp:45:
/usr/local/i586-mingw32/include/python/pyerrors.h:328: error: `va_list' 
has not been declared
/usr/local/i586-mingw32/include/python/pyerrors.h:329: error: ISO C++ 
forbids declaration of `va' with no type
In file included from /usr/local/i586-mingw32/include/python/Python.h:119,
                 from 
/usr/local/i586-mingw32/include/boost/python/detail/wrap_python.hpp:142,
                 from 
/usr/local/i586-mingw32/include/boost/python/detail/prefix.hpp:13,
                 from 
/usr/local/i586-mingw32/include/boost/python/module.hpp:8,                 
from test_db.cpp:45:
/usr/local/i586-mingw32/include/python/modsupport.h:23: error: `va_list' 
has not been declared
/usr/local/i586-mingw32/include/python/modsupport.h:23: error: ISO C++ 
forbids declaration of `parameter' with no type
/usr/local/i586-mingw32/include/python/modsupport.h:35: error: `va_list' 
has not been declared
/usr/local/i586-mingw32/include/python/modsupport.h:35: error: ISO C++ 
forbids declaration of `parameter' with no type
/usr/local/i586-mingw32/include/python/modsupport.h:37: error: `va_list' 
has not been declared
/usr/local/i586-mingw32/include/python/modsupport.h:37: error: ISO C++ 
forbids declaration of `parameter' with no type
/usr/local/i586-mingw32/include/python/modsupport.h:38: error: `va_list' 
has not been declared
/usr/local/i586-mingw32/include/python/modsupport.h:38: error: ISO C++ 
forbids declaration of `parameter' with no type

Any hints on whats wrong i highly appreciated, I have  worked with 
getting boost python to cross compile all day :(
The version of mingw-g++ is i586-mingw32msvc-g++ (GCC) 3.4.5 (mingw 
special)
got it with apt-get in Debian Etch


Regards,
Simon Norberg






More information about the Cplusplus-sig mailing list