[PyQt] SIP/PyQt ABI breakages
Rex Dieter
rdieter at math.unl.edu
Mon Nov 21 20:31:26 GMT 2011
Phil Thompson wrote:
> On Mon, 21 Nov 2011 11:04:05 +0000, Jeremy Sanders
> <jeremy at jeremysanders.net> wrote:
>> Hi - I've been seeing some ABI breakages in PyQt applications (which
>> compile
>> against PyQt and SIP) in some Linux packages recently:
>>
>> e.g., https://bugzilla.redhat.com/show_bug.cgi?id=755355
>> https://bugs.launchpad.net/ubuntu/+source/pykde4/+bug/826321
>>
>
http://groups.google.com/group/linux.debian.bugs.dist/browse_thread/thread/e44754a502fd95c0/8c71c436a17dac1f?show_docid=8c71c436a17dac1f
>>
>> This seemed to happen somewhere between sip 4.12.1 and 4.12.3 or
>> PyQt4-4.8.3
>> and PyQt4-4.8.4 (at least for Veusz in Fedora 15).
>>
>> Was there an explict change where the PyQt4.QtCore module version
> changed?
>> I
>> can't see it in the changelogs. It's unclear to me whether it was a
> change
>> in sip or PyQt that caused the problem.
>>
>> Is there a better way to deal with breakage when SIP or PyQt4 is
> updated?
>
> That's the right way to deal with it - raise an exception when it detects
> that incompatible versions are being used. The bugs are in the binary
> packages that are dependent on SIP and PyQt - they need to be rebuilt when
> the internal ABI changes. Obviously I need to do a better job in
> documenting when those changes happen - but I would expect packagers to be
> slightly more on the ball than they seem to be.
In this case, the abi as reported by sip, SIP_API_MAJOR_NR SIP_API_MINOR_NR
went from 8.0 to 8.1, so I'd expect items built against sip-4.12 with
MAJOR.MINOR 8.0 to be compatible with a 8.1 runtime. Seems not to be the
case here.
Unless there's some other way to track ABI (in PyQt or elsewhere)?
-- rex
More information about the PyQt
mailing list