[PyQt] Fwd: Problems installing eric 6 in Kubuntu (Qt5.4 and PyQt5.4 from distro)
Phil Thompson
phil at riverbankcomputing.com
Sun May 3 21:27:47 BST 2015
On 03/05/2015 7:18 pm, Dmitry Shachnev wrote:
> Hi Phil,
>
> On Sun, 03 May 2015 17:01:15 +0100, Phil Thompson wrote:
>> With a new 15.04 install I did...
>>
>> sudo apt-get install python3-pyqt5.qsci
>> python3 -c "import PyQt5.Qsci"
>>
>> ...and got the same result. Must be a packaging bug.
>
> I can confirm that after rebuilding QScintilla the problem is fixed.
>
> However, I have a question about sip4 ABI stability.
>
> In Ubuntu, the current version of QScintilla was built against sip
> 4.16.4 and PyQt 5.3.2.
>
> There has been no sip API version bump between 4.16.4 and the current
> version (4.16.7), so we expected that the new version will have
> backward binary compatibility. Was it not the case?
>
> If it was the case, does this mean that we (Debian/Ubuntu) should
> rebuild all reverse dependencies with *each* sip release (not only
> the major ones)? Or maybe you can mention it somewhere when the binary
> compatibility is lost?
>
> For the reference, the crash was happening because of failed
> "sipTypeIsEnum(currentType)" assert in sipEnumType_alloc() function
> when constructing the type for QsciAbstractAPIs class, where
> currentType.td_flags == 280 and 280 & 0x7 == 0 (and not 3 as that
> macro expects).
If there is an undocumented binary incompatibility then it is a bug. I'd
be disappointed if it was related to the function API or data
structures. However I'm much less confident about changes to the order
of things in tables caused by algorithm changes in the code generator.
Certainly the safest thing to do is to build with the same version of
SIP that you are including in the distro. I assume if you update gcc
then you recompile everything with the new version.
Phil
More information about the PyQt
mailing list