[PyKDE] PyKDE compiling error

Jim Bublitz jbublitz at nwinternet.com
Tue Apr 8 06:16:01 BST 2003


On 08-Apr-03 Marc Lavallée wrote:
> Le lun 07/04/2003 à 22:12, Jim Bublitz a écrit :
>> In kservice.sip at line 34 change:
>> %If ( KDE_3_1_1 - )
>> to 
>> %If ( KDE_3_1_0 - )
 
> It doesn't work. Should I upgrade to kde 3.1.1 ?

I'm not sure at the moment that would fix it. Roberto's post in
this thread agrees with the KDE sources I have - 
KService(const KService&) isn't declared at all until 3.1.1
(meaning the default copy ctor should be legal). At least not in
the KDE and SuSE h files.

It appears to be some difference in the Mandrake KDE h files, or
at least the set of files on your machine. What you could try is:

a. Remove the %If in line 34 altogether (// comment it out) and
also comment out the %End stmt at line 38 (following the
constructor declaration). Declaring the constructor as private
should prevent sip from generating code that uses it. Make sure the
"private:" is still there. You need to rerun build.py for the
change to take effect.

b. Check kservice.h (in /usr/include/kio) and see if the
constructor (exactly as in the error message or sip file) is
declared there and whether or not it's in a private section.

c. Make sure you don't have a version of kservice.h in
PyKDE-3.5-1/extra/kde310 or PyKDE-3.5-1/extra/kde310/kio or
/usr/include (all of those are very unlikely, but I can't see a
good reason why the error is occurring). It doesn't appear that
there is another path that could find an incorrect kservice.h, but
you could try 'find' or 'locate' to see if there's a kservice.h
somewhere from a different version of KDE that's getting pulled in
somehow.

If none of the above yield any improvement, try adding the
following right after the KService(const KService&) line in
kservice.sip:

    ~KService();

(and make sure that line doesn't occur anywhere else in the sip
file). There was a sip problem (should be fixed by the snapshot you
have) distantly related to this kind of problem, but I doubt that's
the cause either.

As a last resort, make sure the error msg still refers to KService
and not a KService relative like KServiceType or KServiceGroup -
I'm obviously just guessing at things here.

If none of that works you can try 3.1.1, but I don't see why it
isn't working with 3.1.0. I don't have a copy of Mdk 9.1 (and
didn't test 9.0 because of the PyQt problems with Mandrake), but if
the problem persists I'll order a copy tomorrow and see if I can
figure it out. Might take a while though, as I'll be out of town
this weekend.

Jim




More information about the PyQt mailing list