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

Attachment: pykde.spec
Description: Binary data

--- PyKDE-3.11.3/sip/kdecore/kconfigdata.sip.gv	2004-08-15 19:41:52.000000000 +0200
+++ PyKDE-3.11.3/sip/kdecore/kconfigdata.sip	2004-09-15 07:56:24.000000000 +0200
@@ -75,7 +75,7 @@
 //returns (QMap<KEntryKey,KEntry)
 
     int isErr = 0;
-    KEntryMap *map = (KEntryMap *)sipForceConvertTo_QMap_0200KEntryKey_0200KEntry (a0, &isErr);
+    KEntryMap *map = (KEntryMap *)sipForceConvertTo_QMap_0300KEntryKey_0300KEntry (a0, &isErr);
     if (isErr)
         sipRes = NULL;
     else
--- PyKDE-3.11.3/sip/kdecore/bytearray.sip.gv	2004-08-15 19:41:52.000000000 +0200
+++ PyKDE-3.11.3/sip/kdecore/bytearray.sip	2004-09-15 07:50:36.000000000 +0200
@@ -59,7 +59,7 @@
     int iserr = 0;
     if (*a2 == "QMap<QCString,DCOPRef>")
     {
-        QMap<QCString,DCOPRef> *map = (QMap<QCString,DCOPRef> *)sipForceConvertTo_QMap_0200QCString_0200DCOPRef(a1, &iserr);
+        QMap<QCString,DCOPRef> *map = (QMap<QCString,DCOPRef> *)sipForceConvertTo_QMap_0300QCString_0300DCOPRef(a1, &iserr);
         if (iserr)
         {
             sipIsErr = 1;
@@ -69,7 +69,7 @@
     }
     else if (*a2 == "QMap<QString,DCOPRef>")
     {
-        QMap<QString,DCOPRef> *map = (QMap<QString,DCOPRef> *)sipForceConvertTo_QMap_0200QString_0200DCOPRef(a1, &iserr);
+        QMap<QString,DCOPRef> *map = (QMap<QString,DCOPRef> *)sipForceConvertTo_QMap_0300QString_0300DCOPRef(a1, &iserr);
         if (iserr)
         {
             sipIsErr = 1;
@@ -85,7 +85,7 @@
     int iserr = 0;
     if (*a2 == "QValueList<QCString>")
     {
-        QValueList<QCString> *list = (QValueList<QCString> *)sipForceConvertTo_QValueList_0200QCString (a1, &iserr);
+        QValueList<QCString> *list = (QValueList<QCString> *)sipForceConvertTo_QValueList_0300QCString (a1, &iserr);
         if (iserr)
         {
             sipIsErr = 1;
@@ -95,7 +95,7 @@
     }
     else if (*a2 == "QValueList<DCOPRef>")
     {
-        QValueList<DCOPRef> *list = (QValueList<DCOPRef> *)sipForceConvertTo_QValueList_0200DCOPRef (a1, &iserr);
+        QValueList<DCOPRef> *list = (QValueList<DCOPRef> *)sipForceConvertTo_QValueList_0300DCOPRef (a1, &iserr);
         if (iserr)
         {
             sipIsErr = 1;
@@ -346,25 +346,25 @@
     {
         QMap<QCString, DCOPRef> res;
         *a0 >> res;
-        return sipConvertFrom_QMap_0200QCString_0200DCOPRef (&res);
+        return sipConvertFrom_QMap_0300QCString_0300DCOPRef (&res);
     }
     else if (*a1 == "QMap<QString,DCOPRef>")
     {
         QMap<QString, DCOPRef> res;
         *a0 >> res;
-        return sipConvertFrom_QMap_0200QString_0200DCOPRef (&res);
+        return sipConvertFrom_QMap_0300QString_0300DCOPRef (&res);
     }
     else if (*a1 == "QValueList<QCString>")
     {
         QValueList<QCString> res;
         *a0 >> res;
-        return sipConvertFrom_QValueList_0200QCString (&res);
+        return sipConvertFrom_QValueList_0300QCString (&res);
     }
     else if (*a1 == "QValueList<DCOPRef>" || *a1 == "QCStringList")
     {
         QValueList<DCOPRef> res;
         *a0 >> res;
-        return sipConvertFrom_QValueList_0200DCOPRef (&res);
+        return sipConvertFrom_QValueList_0300DCOPRef (&res);
     }
 
 %End
--- PyKDE-3.11.3/sip/kdeui/kactioncollection.sip.gv	2004-09-15 07:44:24.000000000 +0200
+++ PyKDE-3.11.3/sip/kdeui/kactioncollection.sip	2004-09-15 07:45:04.000000000 +0200
@@ -101,8 +101,8 @@
 public:
 
 %If (  - KDE_3_2_2 )
-    virtual QValueList<KAction*> actions (const QString&) const;
-    virtual QValueList<KAction*> actions () const;
+//    virtual QValueList<KAction*> actions (const QString&) const;
+//    virtual QValueList<KAction*> actions () const;
 %End
 
 
_______________________________________________
PyKDE mailing list    [EMAIL PROTECTED]
http://mats.imk.fraunhofer.de/mailman/listinfo/pykde

Reply via email to