[PyKDE] Runtime issues on SuSE 8.1

Jim Bublitz jbublitz at nwinternet.com
Wed Oct 16 17:37:00 BST 2002


On 16-Oct-02 Marc Schmitt wrote:
> On Mittwoch, 16. Oktober 2002 02:48, Jim Bublitz wrote:
>> > Nope. I changed that (and some randomly some other permutation
>> > of that occurance within khtml*.sip) but without success.

>> I'm not sure what you mean here - the 'ii' means it's looking
>> for two ints passed in, but only one is passed in PyKDE (the
>> second from the original declaration was a bool *, which PyKDE
>> *returns* as a value in a tuple). "ii" is only wrong if only
>> one int is expected in the arg list; it would be correct for
>> two ints in the arglist, which isn't the case here.
> 
> I first assumed replacing the (to me mysterious) string "mJ0J0ii"
> had helped and brought me further (which was a mistake, I just
> looked at the wrong lines) so I thought, "Hey, if this helpes
> lets edit some others too" :)

Yeah, I was afraid of that :) (I tend to think the same way)

>> Ooops! My mistake (in more ways than one). The exact same code
>> is in khtml_part.sip (cut and pasted, I'm sure), so you might
>> try another iteration of the same fixes but on khtml_part.sip
>> instead. It doesn't seem likely that the extra 'i' is the
>> problem though - I'm not sure what is. Anybody recognize the
>> meaning of "non-POD type"??
 
> I found this :

Thanks for the research and explanations.

> This leas me to the following conclusion : Its not KDE3.0.4 that
> changed, but GCC3.2 ! Before it has been just a warning, now
> it's an error ... So, what do  you think ?

Might be gcc version-related - I'm not sure, but there definitely
was an error in my code. I don't think it was an error the compiler
would have found though, so maybe something else is going on. Looks
like I better set up a box with gcc 3.2 :(
 
> That's exactly the reason why I stopped developing C(++) and
> started python.

One of *many* reasons.
 
> c-compiler-developer : "Hey, compiling is just too easy. Lets do
> some education on our users and show them how -officially-
> standarized code must look like ..."

The problems PyKDE had with gcc 2.95->2.96 were (mostly) genuine
errors in the code (like promoting private stuff to public
unintentionally) that gcc 2.95 let by. There was one problem with
'const' or 'void' (I forget which) that fit your description above
pretty well though.

> ps: I'm just compliling without the paint method. Let's see.

I noticed from your followup to this that it worked without the
paint method - shouldn't be a problem for most people. The actual
calls made to paint are handled on the C++ side (in the libs), so
the missing paint method is only a problem if you wanted to
subclass and override the method in Python. It wouldn't have worked
in earlier versions anyway, so your rpms are no more "crippled" than
previous versions.

Just as a plug for the recent build system changes - it would have
been a lot more difficult to do a workaround like this with the
older build system, and a lot slower too.

An 'official' PyKDE/KDE 3.0.4 release will probably wait now until I
get a copy of SuSE 8.1 and find a box to put it on (so I can test
gcc 3.2) - probably a week to 10 days. I'll probably also switch
to sip/PyQt 3.4, but that shouldn't cause any problems for 3.3.2
users as far as I can see. KDE 3.1 isn't too far away either.


Persistence in fixing bugs is always appreciated - thanks.


Jim










More information about the PyQt mailing list