Building PyQt6 with GLES
Phil Thompson
phil at riverbankcomputing.com
Wed Jul 14 22:22:56 BST 2021
On 13/07/2021 18:54, Ben Greiner wrote:
> 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/;
Hopefully fixed in the current snapshot.
Thanks,
Phil
More information about the PyQt
mailing list