[PyKDE] PyQT on Mandrake 9.1 issues

Damien Bateman pykde at yahoo.co.uk
Sun Apr 6 10:32:01 BST 2003


 --- Gerard Vermeulen <gvermeul at grenoble.cnrs.fr>
wrote:
> did you regenerate the *.{cpp,h} files (by running
> build.py again)?
> 
> The output of sip depends on some of the defines.

Yes, I sure did. Since my first post I've been looking
at a working install on my other machine but it uses a
version of libqt-mt.so that I compiled from source.
The first problem with my Mandrake 9.1 install is, as
everyone seems to know now, it only supports the SGI
style as a plugin. Doing an objdump -T on the working
version of libqt-mt.so shows the presence of the
undefined symbol that is causing a problem when I try
to import qt in the python interpreter
(_ZNK9QSGIStyle9classNameEv).

That is why it seems necessary to add the #define
QT_NO_STYLE_SGI 1 directive in qconfig.h (yes, I
mistakenly referred to it as qtconfig.h in my previous
post). After adding that line, I went right back to
the start and made and installed sip. I am able to run
the build script in the PyQT source dir but as soon as
I try to make the libraries I get a series of compile
errors beginning with:

g++ -c -pipe -w -O2 -fomit-frame-pointer -pipe
-march=i586 -mcpu=pentiumpro -D_REENTRANT -fPIC 
-DSIP_MAKE_MODULE_DLL -DQT_NO_DEBUG
-DQT_THREAD_SUPPORT -I/usr/lib/qt3/mkspecs/default -I.
-I. -I/usr/include/python2.2 -I/usr/lib/qt3/include -o
qtcmodule.o qtcmodule.cpp
In file included from qtcmodule.cpp:195:
sipqtQSGIStyle.h:50: parse error before `{' token
sipqtQSGIStyle.h:53: destructors must be member
functions
sipqtQSGIStyle.h:57: non-member function `QVariant
property(const char*)' cannot have `const' method
qualifier
sipqtQSGIStyle.h:64: non-member function `QPixmap
stylePixmap(QStyle::StylePixmap, const QWidget*, const
QStyleOption&)' cannot have `const' method qualifier

This is why, as an experiment and no doubt unwisely
(sorry to mess with your work Phil), I then went into
$PYQTDIR/qt and modified qtcmodule.cpp by adding some
#ifndef QT_NO_STYLE_SGI tests around the relevant SGI
style related code. This let me make the PyQt wrapper
libraries but resulted in  a different undefined
symbol error (related to the QSettings class -
_Z16sipNew_QSettingsP7_objectS0_). Looking at the
dependencies of libqtcmodule.so gave me this:

       libsip.so.9 => not found
        libqt-mt.so.3 =>
/usr/lib/qt3/lib/libqt-mt.so.3 (0x40249000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6
(0x408b4000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6
(0x408c2000)
        libpthread.so.0 => /lib/i686/libpthread.so.0
(0x409a1000)
        libstdc++.so.5 => /usr/lib/libstdc++.so.5
(0x409f1000)
        libm.so.6 => /lib/i686/libm.so.6 (0x40aa3000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1
(0x40ac5000)
        libc.so.6 => /lib/i686/libc.so.6 (0x40acf000)
        libmng.so.1 => /usr/lib/libmng.so.1
(0x40c02000)
        libjpeg.so.62 => /usr/lib/libjpeg.so.62
(0x40c4a000)
        libpng.so.3 => /usr/lib/libpng.so.3
(0x40c6b000)
        libz.so.1 => /lib/libz.so.1 (0x40c90000)
        libGL.so.1 => /usr/lib/libGL.so.1 (0x40c9e000)
        libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6
(0x40d06000)
        libXrender.so.1 =>
/usr/X11R6/lib/libXrender.so.1 (0x40d1c000)
        libXft.so.2 => /usr/X11R6/lib/libXft.so.2
(0x40d24000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6
(0x40d36000)
        libSM.so.6 => /usr/X11R6/lib/libSM.so.6
(0x40d84000)
        libICE.so.6 => /usr/X11R6/lib/libICE.so.6
(0x40d8d000)
        libdl.so.2 => /lib/libdl.so.2 (0x40da5000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2
(0x80000000)
        liblcms.so.1 => /usr/lib/liblcms.so.1
(0x40da8000)
        libGLcore.so.1 => /usr/lib/libGLcore.so.1
(0x40dc4000)
        libXt.so.6 => /usr/X11R6/lib/libXt.so.6
(0x41274000)
        libfontconfig.so.1 =>
/usr/lib/libfontconfig.so.1 (0x412c6000)
        libexpat.so.0 => /usr/lib/libexpat.so.0
(0x412ed000)

Now I don't know too much about the linking stage, but
the fact that "libsip.so.9 => not found" appears seems
rather concerning. Why would this be happening?

Thanks again,

Damien

__________________________________________________
Yahoo! Plus
For a better Internet experience
http://www.yahoo.co.uk/btoffer




More information about the PyQt mailing list