Harry George at
Thu Sep 6 09:18:31 CEST 2007

luca72 <lucaberto at> writes:

> Hello
> i have python2.5 with sip4.6 installed on a linux machine, i need to
> install sip4.7 but i get a lot of error like this:
> sip.h:525: error: expected specifier-qualifier-list before
> 'PyMethodDef'
> sip.h:609: error: expected specifier-qualifier-list before
> 'sipForceConvertToFunc'
> sip.h:666: error: expected specifier-qualifier-list before 'PyObject'
> sip.h:902: error: expected specifier-qualifier-list before
> 'PyTypeObject
> sipint.h:81: error: expected '=', ',', ';', 'asm' or '__attribute__'
> before '*' token
> sipint.h:86: error: expected '=', ',', ';', 'asm' or '__attribute__'
> before '*' token
> sipint.h:87: error: expected '=', ',', ';', 'asm' or '__attribute__'
> before '*' token
> siplib.c:39: error: expected ')' before '*' token
> siplib.c:41: error: expected ')' before '*' token
> siplib.c:43: error: expected ')' before '*' token
> siplib.c:45: error: expected ')' before '*' token
> siplib.c:48: error: expected ')' before '*' token
> plib.c:285: error: expected specifier-qualifier-list before 'PyObject'
> siplib.c:290: error: expected '=', ',', ';', 'asm' or '__attribute__'
> before 'sipWrapperType_Type'
> Have you some idea why?
> Regards
> Luca

On Linux, py2.5 installed, sip 4.6 installed:

I just tried it using gcc/g++ 3.4.6 and and then a fresh start with
gcc/g++ 4.2.0.  Both worked fine.  If you have an older gcc/g++ that
might give the effect.

Notice that I have a wrapper to set paths for qt4, and a wrapper to
run python2.5.1.  These are for convenience and should not impact
results, unless of course you aren't makeing qt4 visible to the sip
compile process.

[sip-4.7]$ qt4 py25
This is SIP 4.7 for Python 2.5.1 on linux2.
The SIP code generator will be installed in /usr/local/bin.
The SIP module will be installed in /usr/local/lib/python2.5/site-packages.
The SIP header file will be installed in /usr/local/include/python2.5.
The default directory to install .sip files in is /usr/local/share/sip.
The platform/compiler configuration is linux-g++.
Creating top level Makefile...
Creating sip code generator Makefile...
Creating sip module Makefile...
[build at cola3 sip-4.7]$ gmake
gmake[1]: Entering directory `/usr2/src/qt/sip-4.7/sipgen'
gcc -c -pipe -O2 -w -I. -o main.o main.c
gcc -c -pipe -O2 -w -I. -o transform.o transform.c
gcc -c -pipe -O2 -w -I. -o gencode.o gencode.c
gcc -c -pipe -O2 -w -I. -o export.o export.c
gcc -c -pipe -O2 -w -I. -o heap.o heap.c
gcc -c -pipe -O2 -w -I. -o parser.o parser.c
gcc -c -pipe -O2 -w -I. -o lexer.o lexer.c
g++  -o sip main.o transform.o gencode.o export.o heap.o parser.o lexer.o 
gmake[1]: Leaving directory `/usr2/src/qt/sip-4.7/sipgen'
gmake[1]: Entering directory `/usr2/src/qt/sip-4.7/siplib'
gcc -c -pipe -fPIC -O2 -w -I. -I/usr/local/include/python2.5 -o siplib.o siplib.c
gcc -c -pipe -fPIC -O2 -w -I. -I/usr/local/include/python2.5 -o qtlib.o qtlib.c
gcc -c -pipe -fPIC -O2 -w -I. -I/usr/local/include/python2.5 -o threads.o threads.c
gcc -c -pipe -fPIC -O2 -w -I. -I/usr/local/include/python2.5 -o objmap.o objmap.c
g++ -c -pipe -fPIC -O2 -w -I. -I/usr/local/include/python2.5 -o bool.o bool.cpp
g++ -shared -Wl,--version-script=sip.exp -o siplib.o qtlib.o threads.o objmap.o bool.o 
gmake[1]: Leaving directory `/usr2/src/qt/sip-4.7/siplib'

Harry George
PLM Engineering Architecture

More information about the Python-list mailing list