[PyQt] Regression in sip 4.7.4 "sip: QPixmap has not been defined"

Adam C Powell IV hazelsct at debian.org
Sun Apr 6 17:26:10 BST 2008


On Wed, 2008-04-02 at 09:48 -0400, Adam C Powell IV wrote:
> On Tue, 2008-03-25 at 09:11 +0000, Phil Thompson wrote:
> > On Monday 24 March 2008, Adam C Powell IV wrote:
> > > Greetings,
> > >
> > > I am trying to build the Salomé suite from
> > > http://www.salome-platform.org/ which built just fine with sip 4.7.3 but
> > > now is not working with 4.7.4.
> > >
> > > More specifically, I am trying to build the Debian package at
> > > http://lyre.mit.edu/~powell/salome/ and running into trouble as
> > > described at Debian bug 469850 http://bugs.debian.org/469850 .
> > >
> > > The sip command is:
> > > /usr/bin/sip -t WS_X11 -t Qt_3_3_8b -x Qt_STYLE_INTERLACE -x
> > > Qt_STYLE_WINDOWSXP -x Qt_ASSISTANTCLIENT -s ".cc" -c . -I
> > > /usr/share/sip/qt/qt SALOME_PYQT_GUI.sip and although qpixmap.sip is right
> > > in the path, it gives an error:
> > > sip: QPixmap has not been defined
> > >
> > > Given that this worked fine with 4.7.3, either sip or its Debian package
> > > seems to be broken.  How can I investigate further?
> > 
> > Produce a small test case that demonstrates the problem against the standard 
> > SIP and PyQt packages.
> > 
> > Phil
> 
> Sorry about the delay.
> 
> I'm attaching a small (trivial) file which fails in this way.  sip does
> not attempt to open any other files in this directory.  strace output is
> at http://lyre.mit.edu/~powell/salome/build-deps/sip.trace
> 
> As you can see, it finds qpixmap.sip, and seems to die soon after
> reading the last of the .sip files (at least "soon" in the trace).
> 
> How can I diagnose further?

So as a lex/yacc/sip neophyte, I'm hunting down the problem as best I
can, and here's what I have so far:

While parsing qpaintdevice.sip and qtbitmap.sip, the parser calls
findIfaceFile().  While parsing qtbitmap.sip, it also calls
appendToClassList().  Those are never called while parsing qpixmap.sip.

Going further, I've instrumented every instance of which sets an
iff->module (which is null for QPixmap, causing this error), and none
are called when parsing qpixmap.sip.

So there is a problem with sip and/or qpixmap.sip, such that sip is not
getting any classes/modules from qpixmap.sip.  Something is broken.
Any ideas?

[Please include 469850 at bugs.debian.org in your reply.]

Cheers,
-Adam
-- 
GPG fingerprint: D54D 1AEE B11C CE9B A02B  C5DD 526F 01E8 564E E4B6

Engineering consulting with open source tools
http://www.opennovation.com/



More information about the PyQt mailing list