[PyKDE] PyKDE fails to compile on Debian

Jim Bublitz jbublitz at nwinternet.com
Sun Mar 12 19:24:19 GMT 2006


On Sunday 12 March 2006 10:01, Gudjon I. Gudjonsson wrote:
> Þann Sunnudagur 12. mars 2006 19:00 skrifaði Jim Bublitz:
> > On Sunday 12 March 2006 08:35, Gudjon I. Gudjonsson wrote:
> > > sipkdecorepart0.o sipkdecorepart0.cpp
> > > sip/kdecore/ktimezones.sip: In function 'PyObject*
> > > convertFrom_ZoneMap(void*)':
> > > /usr/include/kde/ktimezones.h:191: error: 'KTimezone::KTimezone(const
> > > KTimezone&)' is private
> > > sip/kdecore/ktimezones.sip:209: error: within this context
> > > sipkdecorepart0.cpp: In function 'void* init_KTimezones(sipWrapper*,
> > > PyObject*, sipWrapper**)':
> > > /usr/include/kde/ktimezones.h:340: error: 'KTimezones::KTimezones(const
> > > KTimezones&)' is private
> > > sipkdecorepart0.cpp:9497: error: within this context
> > > sipkdecorepart0.cpp: In function 'void* init_KTimezone(sipWrapper*,
> > > PyObject*, sipWrapper**)':
> > > /usr/include/kde/ktimezones.h:191: error: 'KTimezone::KTimezone(const
> > > KTimezone&)' is private
> > > sipkdecorepart0.cpp:10450: error: within this context
> >
> > According to the "official" KDE 3.5.0/3.5.1 source from kde.org,
> > KTimezone::KTimezone(const KTimezone&) isn't private. In fact it's
> > implicit (not declared at all as far as I can tell).
> >
> > Can you check the KDE ktimezones.h that's being included when you
> > build/compile and see if/how the copy constructor is declared there?
> > Looks like a difference in KDE source files.
> >
> > Jim
>
> Thanks for a fast answer Jim
>    I have to admit I am not the best in C++ but I think this is the section
> you were after and it is private as far as I see.
>
> Regards
> Gudjon
>
> private:
>     KTimezone(const KTimezone&);
>     KTimezone& operator=(const KTimezone&);
>
>     KSharedPtr<KTimezoneSource> m_db;
>     QString m_name;
>     QString m_countryCode;
>     float m_latitude;
>     float m_longitude;
>     QString m_comment;
>     KTimezonePrivate *d;
> };

That's exactly the right place - the KDE source from kde.org doesn't have the 
first two lines (the copy constructor and operator). I'll have to see if I 
can fix the handwritten code that's calling the copy constructor. In the 
meantime, you should be able to do the following edits:

In PyKDE-snapshot20060122/sip/kdecore/kdecore-kde350.diff:
   comment out (//) or delete the line containing %Include ktimezones.sip

PyKDE-snapshot20060122/sip/kdeui/kdeui-kde350.diff
   comment out (//) or delete the line containing %Include ktimezonewidget.sip

That will remove the KTimezone-related stuff from your PyKDE completely, which 
probably won't be too inconvenient. It's new in KDE 3.5.0 and nothing else 
depends on it.

Does anybody on the list know why Debian has this difference? Does it extend 
to other Debian-based distributions?

Jim




More information about the PyQt mailing list