From kde-bindings Thu Aug 29 20:41:45 2013 From: Simon Edwards Date: Thu, 29 Aug 2013 20:41:45 +0000 To: kde-bindings Subject: Re: [Kde-bindings] Building PyKDE with SIP v4.15.x Message-Id: <521FB209.2040605 () simonzone ! com> X-MARC-Message: https://marc.info/?l=kde-bindings&m=137780895810136 Thank you for the detailed email and "heads up" Phil. cheers, Simon On 08/27/2013 11:27 AM, Phil Thompson wrote: > I've been looking at the issues when building PyKDE using recent versions > of SIP (ie. v4.15.x). Here is an explanation of what (I think) is going on > and what needs to be done to fix it. > > In short it's a combination of SIP, PyQt and PyKDE bugs. I believe that > the SIP and PyQt bugs are now fixed. > > PyKDE has a number of bugs where some private reimplementations of > virtuals are missing from the .sip files. Two examples are > Akonadi::FavoriteCollectionsModel::setSourceModel() and > KRecursiveFilterProxyModel::filterAcceptsRow(). Prior to SIP v4.15 this > resulted in the generation of incorrect, but compilable, code. Changes in > SIP v4.15 meant that, if the .sip files are correct, then the correct code > is generated. If not then the generated code will not compile. > > The changes in SIP v4.15 were themselves buggy (but that didn't affect > PyQt) and that was only partially resolved in SIP v4.15.1. The current SIP > snapshot is fixed properly. > > There is a completely separate bug in PyQt v4.10.3 which means bad code is > generated only if bindings are created for a sub-class of > QSyntaxHighlighter and the -P flag is not passed to sip. PyKDE seems to > fall into that category. The result is the compiler complaining about > qtgui_wrap_ancestors(). > > So... > > - Switch to using the current SIP snapshot. I will release a new version > of SIP when these issues are resolved. > > - Work through each compilation failure updating the .sip files as > appropriate. Let me know of any issues that don't seem to be attributable > to what I have described. > > - Update the PyKDE build process so that -P is always passed to sip. This > will result is smaller bindings anyway. If you really don't want to do > this then switch to the current PyQt4 snapshot. > > Phil > > _______________________________________________ > Kde-bindings mailing list > Kde-bindings@kde.org > https://mail.kde.org/mailman/listinfo/kde-bindings > -- Simon Edwards simon@simonzone.com Nijmegen, The Netherlands _______________________________________________ Kde-bindings mailing list Kde-bindings@kde.org https://mail.kde.org/mailman/listinfo/kde-bindings