[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