[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