[PyKDE] Re: sip, private structs, gcc-2.96, PyKDE2 beta

Jim Bublitz jbublitz at nwinternet.com
Tue Mar 26 18:47:16 GMT 2002

On 26-Mar-02 Bill Soudan <wes0472 at rit.edu> wrote:

> Subject: [PyKDE] sip, private structs, gcc-2.96, PyKDE2 beta
> Subject: [PyKDE] More gcc-2.96/PyKDE2 fun: protected structs

> Looks like gcc2.96 might be a little more strict about access
> specifiers than previous versions?  KServiceTypeProfile defines
> the Service struct as  private, see line 176 of kuserprofile.h
> from kde-2.2.
> I think the real problem here is that sip is generating code for
> a private struct.  Private attributes are, after all, private,
> so this looks like a bug in sip to me.

Nope, it's programmer error. Same thing on the second message. I
generate the sip files somewhat automatically, and when I got the
generator to do nested classes again, I didn't get the checks for
access specifiers right (enums had the same problem, but I believe
those are all fixed). gcc 2.95 doesn't mind the error though, but
in this case gcc 2.96 is correct.
> I can get past the error by removing all references to the
> private struct. I'm not sure if this is absolutely correct,
> but the kio/ directory compiles and links at least.  If you'd
> like a patch, let me know.

It shouldn't cause a problem to fix it that way, although a proper
fix is to provide correct sip files in the first place. I'll
generate either a patch or new tarballs in the next couple of days.
This doesn't affect a lot of code, so I'll see if I can come up
with something that doesn't require a complete download. I'll also
try to hunt down any more occurances (thought I had already). 

If you're using gcc 2.96 and can handle email attachments of around
100K (just a guess - hopefully less), send me an email and I'll mail
out the fix with instructions when it's ready if that route works.

This should only affect people compiling with gcc >= 2.96 (which is
RH7.2 and Mandrake 8.2 I believe).



More information about the PyQt mailing list