[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