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

Simon Norberg simon at dackbrann.net
Sun Nov 18 17:58:39 CET 2007


I have continued trying to crosscompile boost python modules, and i 
found something that i cant understand why it results in errors.
lets begin with:
http://pastebin.com/f569662b8
it corsscompiles perfectly 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

butt if i add this 2 lines to the beginning of the file:
#include "soci.h"
#include "soci-sqlite3.h"

and compile with exactly the same options i get:

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 hello.cpp:28:
/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 hello.cpp:28:
/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 hello.cpp:28:
/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

And then i don't even use anything at all from those libraries, and the 
error are not related to those libraries either as far as i can tell.

Regards
Simon Norberg





More information about the Cplusplus-sig mailing list