Building PyQt6 with GLES
Ben Greiner
code-pyqt at bnavigator.de
Tue Jul 13 18:54:06 BST 2021
Am 13.07.21 um 18:29 schrieb Phil Thompson:
> On 13/07/2021 16:59, Ben Greiner wrote:
>> Hi,
>>
>> we currently get a failure while trying to build PyQt6 for aarch64 on
>> openSUSE distributions. Qt6 for ARM has opengles2 enabled.
>>
>>
>>
>>
>> Mesa-libGLESv3-devel-21.1.4
>> Mesa-libGLESv2-devel-21.1.4
>>
>> Qt6 6.1.2
>> SIP v 6.1.1
>> PyQt-builder 1.10.3
>>
>>
>> Full build log for openSUSE Tumbleweed on aarch64 (Python 3.9):
>> https://susepaste.org/6003158 <https://susepaste.org/6003158>
>> Full build log for openSUSE Leap 15.3 on aarch64 (Python 3.6):
>> https://susepaste.org/65317120 <https://susepaste.org/65317120>
>>
>>
>> Any hint what is going wrong?
>
> It would suggest that cfgtest_QtGui.cpp isn't properly detecting ES2.
> What is the contents of the cfgtest_QtGui.out file after the build?
It is empty.
[ 49s] + grep opengles2 /usr/include/qt6/QtGui/qtgui-config.h
[ 49s] #define QT_FEATURE_opengles2 1
[ 201s] Generating the QtOpenGL bindings...
[ 209s] sip-build-3.9: GLuint64 is undefined
[ 209s]
[ 209s] + ls -l build/cfgtest_QtGui/cfgtest_QtGui.out
[ 209s] -rw-r--r-- 1 abuild abuild 0 Jul 13 17:42 build/cfgtest_QtGui/cfgtest_QtGui.out
[ 209s] + cat build/cfgtest_QtGui/cfgtest_QtGui.out
[ 209s] + exit 1
If I understand correctly that's the way it is supposed to be if
QT_CONFIG(opengles2) is set:
// Determine which features should be disabled.
#if !QT_CONFIG(opengles2)
out << "PyQt_OpenGL_ES2\n";
#if defined(QT_NO_OPENGL)
out << "PyQt_OpenGL\n";
#endif
#endif
Note that QtGui bindings with opengl_types.sip are successfully
generated, but the QtOpenGL bindings fail:
[ben at skylab:…t6/PyQt6-6.1.1]% grep -a1 GLuint64 sip/QtGui -R
sip/QtGui/opengl_types.sip-%If (!PyQt_OpenGL_ES2)
sip/QtGui/opengl_types.sip:typedef quint64 GLuint64; // This is in
OpenGL ES v3.
sip/QtGui/opengl_types.sip-typedef double GLdouble;
[ben at skylab:…t6/PyQt6-6.1.1]% grep GLuint64 sip/QtOpenGL -R
sip/QtOpenGL/qpyopengl_qlist.sip:%MappedType QList<GLuint64>
sip/QtOpenGL/qpyopengl_qlist.sip: QList<GLuint64> *qv = new
QList<GLuint64>;
sip/QtOpenGL/qopengltimerquery.sip: GLuint64 waitForTimestamp() const
/ReleaseGIL/;
sip/QtOpenGL/qopengltimerquery.sip: GLuint64 waitForResult() const
/ReleaseGIL/;
sip/QtOpenGL/qopengltimerquery.sip: QList<GLuint64> waitForSamples()
const /ReleaseGIL/;
sip/QtOpenGL/qopengltimerquery.sip: QList<GLuint64>
waitForIntervals() const /ReleaseGIL/;
>
> Phil
Thanks,
Ben
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20210713/ad614ceb/attachment.sig>
More information about the PyQt
mailing list