[PyKDE] compile error in kio module

Jim Bublitz jbublitz at nwinternet.com
Sun May 23 19:23:01 BST 2004


On Sunday 23 May 2004 06:13, Bonne Eggleston wrote:
> Hi,
> I attempted to compile PyKDE but got errors. I'm running SuSE 9.0 with
>  KDE 3.2.1, Python 2.3.0, Sip  3.10.2, Qt 3.2., PyQt 3.11.0

configure.py doesn't agree about the KDE version you're running (see below)

> Here's the compiler error:

> make[1]: Entering directory
>  `/home/Bonne/Downloads/Libraries/PyKDE-3.11rc1/ kio'
> g++ -c -Wno-deprecated-declarations -pipe -O2 -march=i586 -mcpu=i686
> -fmessage-length=0 -fPIC -fPIC -O2 -march=i586 -mcpu=i686
>  -fmessage-length=0 -fPIC -w -D_REENTRANT -DQT_NO_DEBUG
>  -DQT_THREAD_SUPPORT -I. -I../extra/kde314 -I/opt/kde3/include
>  -I/opt/kde3/include/kio -I/usr/include/ -I/usr/include/ python2.3
>  -I/usr/lib/qt3/include -I/usr/X11R6/include -o kiopart0.o kiopart0.cpp
> kiopart0.cpp: In function `PyObject*
>  sipDo_KFileShare_setShared(PyObject*, PyObject*)':
> kiopart0.cpp:6848: error: no matching function for call to
> `KFileShare::setShared(QString&, bool&)'
> /opt/kde3/include/kfileshare.h:71: error: candidates are: static bool
> KFileShare::setShared(const QString&, bool, bool)
> make[1]: *** [kiopart0.o] Error 1
> make[1]: Leaving directory
>  `/home/Bonne/Downloads/Libraries/PyKDE-3.11rc1/kio' make: *** [all]
>  Error 2

> Here's the configure.py dump:
>
>
>      PyKDE version 3.11.0
>            -------
>
> Python include directory is /usr/include/python2.3
> Python version is 2.3.0
>
> sip version is 3.10.2 (3.10.2)
>
> Qt directory is /usr/lib/qt3
> Qt version is 3.2.1
>
> PyQt directory is /usr/share/sip
> PyQt version is 3.11 (3.11.0)
>
> KDE base directory is /opt/kde3
> KDE include directory is /opt/kde3/include
> KDE lib directory is /opt/kde3/lib
> KDE version is 3.1.4 (0x30104)

This says you're running KDE 3.1.4.  configure.py gets this info by 
reading /opt/kde3/include/kdeversion.h (that's the path for a standard SuSE 
installation). KDE 3.1.4 is the version SuSE 9.0 shipped with, so you did a 
KDE upgrade, right?. SuSE's version of KDE 3.1.4 is incorrect (or 
"non-standard" if you prefer) with respect to KFileShare::setShared - it adds 
an extra 'bool' arg to the arg list, as g++ is indicating in the error 
message. KDE 3.2.1 for SuSE doesn't have this problem.

If you have a *full* KDE 3.2.1 install, kdeversion.h should look like:

#define KDE_VERSION_STRING "3.2.1"
#define KDE_VERSION_MAJOR 3
#define KDE_VERSION_MINOR 2
#define KDE_VERSION_RELEASE 1

The solution is to upgrade your installation to a complete KDE 3.2.1 - install 
kdelibs3-devel-3.2.1*.rpm (the * is something like '-2' or whatever - makes 
no difference) which provides the KDE h files. Any other fix leaves your 
system (and possibly PyKDE) in an inconsistent state.

Jim




More information about the PyQt mailing list