[PyKDE] Method to install pykde with sip-4.1

gerard.vermeulen at grenoble.cnrs.fr gerard.vermeulen at grenoble.cnrs.fr
Thu Sep 23 18:35:19 BST 2004


On Thu, 23 Sep 2004 09:48:29 -0700, Jim Bublitz wrote
> On Thursday 23 September 2004 08:00, Arkar Kyaw Win wrote:
> > Hi just before pyqt3.13 got out I tried to install pykde but the
> > complier dispaly error upon compling sip file from kdecore folder .Such
> > as unused parameter.I use slackware10 with latest realease of pyqt and
> > sip from main website.Before I recomplie pyqt to latest release I
> > recomplie the sip too.Just in case something got wrong and it did.
> 
> > And here is the message from my console:
> > make[1]: Entering directory `/usr/local/PyKDE-3.11.3/kdecore'
> > g++ -c -Wno-deprecated-declarations -pipe -fPIC -O2 -Wall -W
> > -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I. -I../extra/kde323
> > -I/opt/kde/include -I/usr/include/python2.3 -I/usr/lib/qt/include
> > -I/usr/X11R6/include -o sipkdecorepart0.o sipkdecorepart0.cpp
> > sip/kdecore/kconfigdata.sip: In function `PyObject*
> >    func_testKEntryMap(PyObject*, PyObject*)':
> > sip/kdecore/kconfigdata.sip:78: error: `
> >    sipForceConvertTo_QMap_0200KEntryKey_0200KEntry' undeclared (first
> > use this
> >    function)

[ snip ]

> Yep - the same problem everyone else is reporting with the new sip 
> versions. I'll be getting to it as soon as possible.
> 

On my Mandrake-10.0 two steps are needed to make PyKDE-3.11.3 work
with sip-4.1 and recent snapshots:

(1) before running configure: patch PyKDE to replace all 0200 by 0300
    in the handwritten code (see attachment, it also fixes another minor
    glitch).

(2) before running make: fix a few return statements in the sip generated
    code. The following perl statement does that for me (sorry for the
    formatting -- you can get it from the attached pykde.spec file):

perl -pi.after -e
's|QIconView::selectionMode\(\)|KFile::SelectionMode(QIconView::selectionMode())|g;
s|QListView::selectionMode\(\)|KFile::SelectionMode(QListView::selectionMode())|g'
kfile/sipkfilepart*.cpp

I do not think that the casts to KFile::SelectionMode are save (the enum
names do not translate to the same numbers between Qt and KDE), but if they
are not save  it is probably a problem of KDE and not sip-4.1.

Try to skip step (2) if your KDE is newer than 3.20.

Gerard

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pykde.spec
Type: application/octet-stream
Size: 2576 bytes
Desc: not available
Url : http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20040923/a26c9019/pykde.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PyKDE-3.11.3.before.patch
Type: text/x-patch
Size: 3641 bytes
Desc: not available
Url : http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20040923/a26c9019/PyKDE-3.11.3.before.bin


More information about the PyQt mailing list