[PyKDE] sip, private structs, gcc-2.96, PyKDE2 beta
Bill Soudan
wes0472 at rit.edu
Tue Mar 26 03:58:53 GMT 2002
Hi all,
Trying to get PyKDE2-3.0beta1 installed. After fixing the cast problem in
kdecorecmodule.cpp (I'm using gcc2.96 on a vanilla Red Hat 7.2 install), I
ran across this one:
make[2]: Entering directory `/usr/local/src/PyKDE2-3.0beta1/kio'
/bin/sh ../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I..
-I/usr/include/python2.2 -I/usr/local/include/sip -I/usr/lib/qt2/include
-I/usr/X11R6/include -I/usr/include/kde/ -fno-exceptions -I
/usr/include/kde//kio -I../extraH/ -I ../kdecore -O2 -c kiocmodule.cpp
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/python2.2
-I/usr/local/include/sip -I/usr/lib/qt2/include -I/usr/X11R6/include
-I/usr/include/kde/ -fno-exceptions -I /usr/include/kde//kio -I../extraH/
-I ../kdecore -O2 -c kiocmodule.cpp -fPIC -DPIC -o kiocmodule.lo
In file included from kiocmodule.cpp:98:
sipkioKServiceTypeProfileService.h: In function
`KServiceTypeProfile::Service
*sipForceConvertTo_KServiceTypeProfile_Service (PyObject *, int *)':
/usr/include/kde/kuserprofile.h:176: `struct
KServiceTypeProfile::Service' is private
sipkioKServiceTypeProfileService.h:46: within this context
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.
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.
Bill
More information about the PyQt
mailing list