[PyKDE] ANN: SIP v4.0pre3 Released

Hans-Peter Jansen hpj at urpla.net
Wed Oct 29 00:41:01 GMT 2003


Hi Phil,

On Tuesday 28 October 2003 12:31, Phil Thompson wrote:
> SIP v4.0pre3 is now available from the usual place. If you are
> using it to build PyQt you will need a current PyQt snapshot.

I finally got around updating to SuSE 9.0, and made a first
attempt to build rpms for sip4 & PyQt.

First impression: very well. sip4 makes the whole project looking
__much__ nicer. Congratulations.

sip4 built well, but PyQt-20031027 refused to link the GL stuff 
properly: ld: cannot find -lXmu
I had to apply this patch to get through it:

--- sip/qtgl/qtglmod.sip~	2003-10-28 02:06:23.000000000 +0100
+++ sip/qtgl/qtglmod.sip	2003-10-28 23:11:30.000000000 +0100
@@ -59,7 +59,7 @@
 TEMPLATE = lib
 TARGET = @BLX_TARGET_LIB@
 DESTDIR = @PYQT_MODDIR@
-CONFIG += @BLX_CONFIG_LIB@ opengl @PYQT_WARN@
+CONFIG += @BLX_CONFIG_LIB@ opengl x11 @PYQT_WARN@
 INCLUDEPATH = @BLX_INCLUDEPATH@
 DEFINES = @BLX_DEFINES@
 LIBS += @PYQT_QT_MODULE@ @BLX_LIBS@


Unfortunately, sip4 seem to have problems with class variables of
certain Qt derived classes, and throws errors like:

Traceback (most recent call last):
  File "/home/hp/src/python/qt/epsutil/epsutil.py", line 288, in polish
    m = self.cfg.model
AttributeError: cfg
Traceback (most recent call last):
  File "main.py", line 46, in ?
    w = mainWindow(app)
  File "/home/hp/src/python/qt/epsutil/epsutil.py", line 237, in __init__
    wh = self.cfg.mainScreenSize
AttributeError: cfg
Speicherzugriffsfehler

Here is the corresponding source excerpt:

class mainWindow(epsDial):
    def __init__(self, app, parent = None, name = None, fl = 0):
        self.app = app
        self.model = None
        self.cfg = config.Config()
        self.cfg.load()
        if styleDict.has_key(self.cfg.style):
            app.setStyle(styleDict[self.cfg.style]())
        # set up parent
        epsDial.__init__(self, parent, name, fl)
        wh = self.cfg.mainScreenSize
        if wh:
            self.resize(wh[0], wh[1])
        xy = self.cfg.mainScreenLocation
        if xy:
            self.move(xy[0], xy[1])

You see, self.cfg definitely exists at that point.

Any ideas?

Pete




More information about the PyQt mailing list