Building PyQt5 5.15.3 with SIP v4 fails.

Ben Greiner code-pyqt at bnavigator.de
Fri Feb 26 09:34:36 GMT 2021


On 26.02.21 10:20, Phil Thompson wrote:
> On 25/02/2021 21:53, Ben Greiner wrote:
>> Hi,
>>
>> I don't know how much this is still supported. After all the sources
>> still provide a configure.py. However with the update to 5.15.3,
>> calling python configure.py results in the following fail:
>>
>> [   30s] + python3 ../configure.py --verbose --sip=/usr/bin/sip-3.6
>> --qmake=/usr/bin/qmake-qt5 --confirm-license --assume-shared --disable
>> QtQuick3D --disable QtRemoteObjects --qsci-api --qsci-api-destdir
>> /usr/share/qt5/qsci 'QMAKE_CFLAGS+=-fmessage-length=0
>> -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2
>> -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables
>> -fstack-clash-protection -g ' 'QMAKE_CXXFLAGS+=-fmessage-length=0
>> -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2
>> -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables
>> -fstack-clash-protection -g '
>>
>> ...
>>
>> [   58s] Checking to see if the dbus support module should be built...
>> [   58s] pkg-config --cflags-only-I --libs dbus-1
>> [   58s] Qt v5.15.2 is being used.
>> [   58s] The qmake executable is /usr/bin/qmake-qt5.
>> [   58s] Qt is built as a shared library.
>> [   58s] SIP 4.19.24 is being used.
>> [   58s] The sip executable is /usr/bin/sip-3.6.
>> [   58s] These PyQt5 modules will be built: QtCore, QtGui, QtHelp, 
>> QtMultimedia,
>> [   58s] QtMultimediaWidgets, QtNetwork, QtOpenGL, QtPrintSupport,
>> QtQml, QtQuick,
>> [   58s] QtSql, QtSvg, QtTest, QtWebKit, QtWebKitWidgets, QtWidgets, 
>> QtXml,
>> [   58s] QtXmlPatterns, QtDesigner, QtDBus, _QOpenGLFunctions_2_0,
>> [   58s] _QOpenGLFunctions_2_1, _QOpenGLFunctions_4_1_Core, QtSensors,
>> QtSerialPort,
>> [   58s] QtX11Extras, QtBluetooth, QtPositioning, QtQuickWidgets, 
>> QtWebSockets,
>> [   58s] QtWebChannel, QtLocation, QtNfc, QtTextToSpeech.
>> [   58s] The PyQt5 Python package will be installed in
>> [   58s] /usr/lib64/python3.6/site-packages.
>> [   58s] PyQt5 is being built with generated docstrings.
>> [   58s] PyQt5 is being built with 'protected' redefined as 'public'.
>> [   58s] The Designer plugin will be installed in
>> /usr/lib64/qt5/plugins/designer.
>> [   58s] The qmlscene plugin will be installed in 
>> /usr/lib64/qt5/plugins/PyQt5.
>> [   58s] The QScintilla API file will be installed in
>> /usr/share/qt5/qsci/api/python.
>> [   58s] The PyQt5 PEP 484 stub files will be installed in
>> [   58s] /usr/lib64/python3.6/site-packages/PyQt5.
>> [   58s] The dbus support module will be installed in
>> [   58s] /usr/lib/python3.6/site-packages/dbus/mainloop.
>> [   58s] The PyQt5 .sip files will be installed in /usr/share/sip/PyQt5.
>> [   58s] pyuic5, pyrcc5 and pylupdate5 will be installed in /usr/bin.
>> [   58s] The interpreter used by pyuic5 is /usr/bin/python3.
>> [   58s] Generating the C++ source for the QtCore module...
>> [   58s] /usr/bin/sip-3.6 -w -n PyQt5.sip -t WS_X11 -t Qt_5_15_0 -f -P
>> -o -a QtCore.api -y QtCore.pyi -c
>> /home/abuild/rpmbuild/BUILD/PyQt5-5.15.3/build/QtCore -I sip -I
>> /home/abuild/rpmbuild/BUILD/PyQt5-5.15.3/sip
>> /home/abuild/rpmbuild/BUILD/PyQt5-5.15.3/sip/QtCore/QtCoremod.sip
>> [   58s] sip: Py_ssize_t is undefined
>>
>>
>> It used to work with 5.15.2. Adding -I /usr/include/python3.6m to the
>> sip call does not help. Am I missing something?
>>
>> (This is an rpmbuild for  openSUSE Leap 15.2. Building with SIP v6 and
>> sip-build works fine.)
>
> SIP v4 is unsupported but that was an unintentional change. I can fix 
> PyQt5 but it will be some time before the next release. Or I can fix 
> SIP v4 (it's the addition of one line) and make a release much sooner.
>
> Phil


Whatever works for you. I could even apply a patch to an existing 
release of PyQt5 or SIP v4. But in the meantime, I got approval to 
remove the SIPv4 build of PyQt5 for the openSUSE devel projects. This 
means removing the Python 2 packages of PyQt5 and all depending software 
as well. (It does not mean that it vanishes from the "stable" distros 
SLE and openSUSE Leap).

Thanks,
Ben




More information about the PyQt mailing list