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