Qt 5.13.2 and PyQt 5.14.9

Albert Chin pyqt at mlists.thewrittenword.com
Wed Jun 28 06:56:13 BST 2023


On Tue, Jun 27, 2023 at 03:32:25PM +0100, Phil Thompson wrote:
> Use the latest version of PyQt5.

Thank you. I was able to build PyQt5-5.15.9 with sip-4.19.25+patches.

> Phil
> 
> On 27/06/2023 14:15, Albert Chin wrote:
> > I built Qt 5.13.2 on RHEL 7/8/9 and wanted to build PyQt for it. So, I
> > built sip-4.19.23 and PyQt5-5.13.2. sip built fine but I am
> > running into the following when building PyQt5-5.13.2:
> > 
> > $ /opt/TWWfsw/python38/bin/python3 configure.py \
> > --sip /opt/TWWfsw/libqt513/lib/python38/bin/sip \
> > --sip-incdir /opt/TWWfsw/libqt513/lib/python38/include \
> > --designer-plugindir /opt/TWWfsw/libqt513/lib/python38/plugins/designer
> > \
> > --qml-plugindir /opt/TWWfsw/libqt513/lib/python38/plugins/qmlscene \
> > --assume-shared --verbose --confirm-license \
> > --bindir /opt/TWWfsw/libqt513/lib/python38/bin \
> > --destdir /opt/TWWfsw/libqt513/lib/python38 \
> > --sipdir /opt/TWWfsw/libqt513/lib/python38/share --no-qsci-api \
> > INCDIR_QT=/opt/TWWfsw/libqt513/include/gcc49 \
> > LIBDIR_QT=/opt/TWWfsw/libqt513/lib/gcc49
> > ...
> > g++ -c -m64 -pipe -O2 -std=gnu++11 -fno-exceptions -Wall -W
> > -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public
> > -DPy_LIMITED_API=0x03040000 -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG
> > -DQT_PLUGIN -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB
> > -DQT_CORE_LIB -I. -I.
> > -I../../../../TWWfsw/libqt513/lib/python38/include
> > -I../../../../TWWfsw/python38/include/python3.8 -I../qpy/QtQuick
> > -I../../../../TWWfsw/libqt513/include/gcc49
> > -I../../../../TWWfsw/libqt513/include/gcc49/QtQuick
> > -I../../../../TWWfsw/libqt513/include/gcc49/QtGui
> > -I../../../../TWWfsw/libqt513/include/gcc49/QtQml
> > -I../../../../TWWfsw/libqt513/include/gcc49/QtNetwork
> > -I../../../../TWWfsw/libqt513/include/gcc49/QtCore -I.
> > -I../../../../TWWfsw/libqt513/share/gcc49/mkspecs/linux-g++-64 -o
> > sipQtQuickQSGGeometry.o sipQtQuickQSGGeometry.cpp
> > /opt/build/china/PyQt5-5.13.2/QtQuick/sipQtQuickQSGGeometry.cpp: In
> > function 'void assign_QSGGeometry(void*, Py_ssize_t, void*)':
> > /opt/build/china/PyQt5-5.13.2/QtQuick/sipQtQuickQSGGeometry.cpp:940:59:
> > error: use of deleted function 'QSGGeometry&
> > QSGGeometry::operator=(const QSGGeometry&)'
> >      {
> >                                                            ^
> > In file included from
> > ../../../../TWWfsw/libqt513/include/gcc49/QtQuick/qsgnode.h:43:0,
> >                  from
> > ../../../../TWWfsw/libqt513/include/gcc49/QtQuick/qsgrendererinterface.h:43,
> >                  from
> > ../../../../TWWfsw/libqt513/include/gcc49/QtQuick/qquickwindow.h:44,
> >                  from
> > /opt/build/china/PyQt5-5.13.2/sip/QtQuick/qquickwindow.sip:26,
> >                  from sipQtQuickQSGGeometry.cpp:24:
> > ../../../../TWWfsw/libqt513/include/gcc49/QtQuick/qsggeometry.h:51:22:
> > note: 'QSGGeometry& QSGGeometry::operator=(const QSGGeometry&)' is
> > implicitly deleted because the default definition would be ill-formed:
> >  class Q_QUICK_EXPORT QSGGeometry
> >                       ^
> > ../../../../TWWfsw/libqt513/include/gcc49/QtQuick/qsggeometry.h:51:22:
> > error: non-static reference member 'const QSGGeometry::AttributeSet&
> > QSGGeometry::m_attributes', can't use default assignment operator
> > gmake[1]: *** [Makefile:7895: sipQtQuickQSGGeometry.o] Error 1
> > 
> > I tried sip-4.19.22 and PyQt5-5.13.2 built successfully. Attached is a
> > diff of sipQtQuickQSGGeometry.cpp generated by 4.19.22 and 4.19.23. Is
> > the above due to a bug in the changes made to 4.19.23? I also tried
> > 4.19.24 and 4.19.25 and they fail the same way.
> > 
> > --
> > albert chin (china at thewrittenword.com)
> > 
> > -- snip snip
> > --- sipQtQuickQSGGeometry.cpp-4.19.22	2023-06-27 07:14:21.466166345
> > +0000
> > +++ sipQtQuickQSGGeometry.cpp-4.19.23	2023-06-27 07:18:36.291919776
> > +0000
> > @@ -1,7 +1,7 @@
> >  /*
> >   * Interface wrapper code.
> >   *
> > - * Generated by SIP 4.19.22
> > + * Generated by SIP 4.19.23
> >   *
> >   * Copyright (c) 2019 Riverbank Computing Limited
> > <info at riverbankcomputing.com>
> >   *
> > @@ -85,7 +85,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_defaultAttributes_Point2D,
> > doc_QSGGeometry_defaultAttributes_Point2D);
> > 
> >      return SIP_NULLPTR;
> > @@ -110,7 +109,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_defaultAttributes_TexturedPoint2D,
> > doc_QSGGeometry_defaultAttributes_TexturedPoint2D);
> > 
> >      return SIP_NULLPTR;
> > @@ -135,7 +133,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_defaultAttributes_ColoredPoint2D,
> > doc_QSGGeometry_defaultAttributes_ColoredPoint2D);
> > 
> >      return SIP_NULLPTR;
> > @@ -162,7 +159,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_setDrawingMode, doc_QSGGeometry_setDrawingMode);
> > 
> >      return SIP_NULLPTR;
> > @@ -189,7 +185,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_drawingMode, doc_QSGGeometry_drawingMode);
> > 
> >      return SIP_NULLPTR;
> > @@ -222,7 +217,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_allocate,
> > doc_QSGGeometry_allocate);
> > 
> >      return SIP_NULLPTR;
> > @@ -249,7 +243,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_vertexCount, doc_QSGGeometry_vertexCount);
> > 
> >      return SIP_NULLPTR;
> > @@ -276,7 +269,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_vertexData,
> > doc_QSGGeometry_vertexData);
> > 
> >      return SIP_NULLPTR;
> > @@ -303,7 +295,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_indexType,
> > doc_QSGGeometry_indexType);
> > 
> >      return SIP_NULLPTR;
> > @@ -330,7 +321,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_indexCount,
> > doc_QSGGeometry_indexCount);
> > 
> >      return SIP_NULLPTR;
> > @@ -357,7 +347,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_indexData,
> > doc_QSGGeometry_indexData);
> > 
> >      return SIP_NULLPTR;
> > @@ -384,7 +373,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_attributeCount, doc_QSGGeometry_attributeCount);
> > 
> >      return SIP_NULLPTR;
> > @@ -409,13 +397,12 @@
> >          sipRes = sipConvertToTypedArray((void *)sipCpp->attributes(),
> >                  sipType_QSGGeometry_Attribute, "iiiI", sizeof
> > (QSGGeometry::Attribute),
> >                  sipCpp->attributeCount(), SIP_READ_ONLY);
> > -#line 426
> > "/opt/build/china/PyQt5-5.13.2/QtQuick/sipQtQuickQSGGeometry.cpp"
> > +#line 414
> > "/opt/build/china/PyQt5-5.13.2/QtQuick/sipQtQuickQSGGeometry.cpp"
> > 
> >              return sipRes;
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_attributes,
> > doc_QSGGeometry_attributes);
> > 
> >      return SIP_NULLPTR;
> > @@ -442,7 +429,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_sizeOfVertex, doc_QSGGeometry_sizeOfVertex);
> > 
> >      return SIP_NULLPTR;
> > @@ -469,7 +455,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_updateRectGeometry, doc_QSGGeometry_updateRectGeometry);
> > 
> >      return SIP_NULLPTR;
> > @@ -497,7 +482,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_updateTexturedRectGeometry,
> > doc_QSGGeometry_updateTexturedRectGeometry);
> > 
> >      return SIP_NULLPTR;
> > @@ -524,7 +508,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_setIndexDataPattern, doc_QSGGeometry_setIndexDataPattern);
> > 
> >      return SIP_NULLPTR;
> > @@ -551,7 +534,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_indexDataPattern, doc_QSGGeometry_indexDataPattern);
> > 
> >      return SIP_NULLPTR;
> > @@ -578,7 +560,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_setVertexDataPattern, doc_QSGGeometry_setVertexDataPattern);
> > 
> >      return SIP_NULLPTR;
> > @@ -605,7 +586,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_vertexDataPattern, doc_QSGGeometry_vertexDataPattern);
> > 
> >      return SIP_NULLPTR;
> > @@ -631,7 +611,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_markIndexDataDirty, doc_QSGGeometry_markIndexDataDirty);
> > 
> >      return SIP_NULLPTR;
> > @@ -657,7 +636,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_markVertexDataDirty, doc_QSGGeometry_markVertexDataDirty);
> > 
> >      return SIP_NULLPTR;
> > @@ -684,7 +662,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_lineWidth,
> > doc_QSGGeometry_lineWidth);
> > 
> >      return SIP_NULLPTR;
> > @@ -711,7 +688,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_setLineWidth, doc_QSGGeometry_setLineWidth);
> > 
> >      return SIP_NULLPTR;
> > @@ -735,13 +711,12 @@
> >  #line 316 "/opt/build/china/PyQt5-5.13.2/sip/QtQuick/qsggeometry.sip"
> >          sipRes = sipConvertToArray(sipCpp->indexDataAsUInt(), "I",
> >                  sipCpp->indexCount(), 0);
> > -#line 764
> > "/opt/build/china/PyQt5-5.13.2/QtQuick/sipQtQuickQSGGeometry.cpp"
> > +#line 740
> > "/opt/build/china/PyQt5-5.13.2/QtQuick/sipQtQuickQSGGeometry.cpp"
> > 
> >              return sipRes;
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_indexDataAsUInt, doc_QSGGeometry_indexDataAsUInt);
> > 
> >      return SIP_NULLPTR;
> > @@ -765,13 +740,12 @@
> >  #line 322 "/opt/build/china/PyQt5-5.13.2/sip/QtQuick/qsggeometry.sip"
> >          sipRes = sipConvertToArray(sipCpp->indexDataAsUShort(), "H",
> >                  sipCpp->indexCount(), 0);
> > -#line 795
> > "/opt/build/china/PyQt5-5.13.2/QtQuick/sipQtQuickQSGGeometry.cpp"
> > +#line 770
> > "/opt/build/china/PyQt5-5.13.2/QtQuick/sipQtQuickQSGGeometry.cpp"
> > 
> >              return sipRes;
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_indexDataAsUShort, doc_QSGGeometry_indexDataAsUShort);
> > 
> >      return SIP_NULLPTR;
> > @@ -796,13 +770,12 @@
> >          sipRes = sipConvertToTypedArray(sipCpp->vertexDataAsPoint2D(),
> >                  sipType_QSGGeometry_Point2D, "ff", sizeof
> > (QSGGeometry::Point2D),
> >                  sipCpp->vertexCount(), 0);
> > -#line 827
> > "/opt/build/china/PyQt5-5.13.2/QtQuick/sipQtQuickQSGGeometry.cpp"
> > +#line 801
> > "/opt/build/china/PyQt5-5.13.2/QtQuick/sipQtQuickQSGGeometry.cpp"
> > 
> >              return sipRes;
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_vertexDataAsPoint2D, doc_QSGGeometry_vertexDataAsPoint2D);
> > 
> >      return SIP_NULLPTR;
> > @@ -827,13 +800,12 @@
> >          sipRes =
> > sipConvertToTypedArray(sipCpp->vertexDataAsTexturedPoint2D(),
> >                  sipType_QSGGeometry_TexturedPoint2D, "ffff",
> >                  sizeof (QSGGeometry::TexturedPoint2D),
> > sipCpp->vertexCount(), 0);
> > -#line 859
> > "/opt/build/china/PyQt5-5.13.2/QtQuick/sipQtQuickQSGGeometry.cpp"
> > +#line 832
> > "/opt/build/china/PyQt5-5.13.2/QtQuick/sipQtQuickQSGGeometry.cpp"
> > 
> >              return sipRes;
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_vertexDataAsTexturedPoint2D,
> > doc_QSGGeometry_vertexDataAsTexturedPoint2D);
> > 
> >      return SIP_NULLPTR;
> > @@ -858,13 +830,12 @@
> >          sipRes =
> > sipConvertToTypedArray(sipCpp->vertexDataAsColoredPoint2D(),
> >                  sipType_QSGGeometry_ColoredPoint2D, "ffbbbb",
> >                  sizeof (QSGGeometry::ColoredPoint2D),
> > sipCpp->vertexCount(), 0);
> > -#line 891
> > "/opt/build/china/PyQt5-5.13.2/QtQuick/sipQtQuickQSGGeometry.cpp"
> > +#line 863
> > "/opt/build/china/PyQt5-5.13.2/QtQuick/sipQtQuickQSGGeometry.cpp"
> > 
> >              return sipRes;
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_vertexDataAsColoredPoint2D,
> > doc_QSGGeometry_vertexDataAsColoredPoint2D);
> > 
> >      return SIP_NULLPTR;
> > @@ -891,7 +862,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_sizeOfIndex, doc_QSGGeometry_sizeOfIndex);
> > 
> >      return SIP_NULLPTR;
> > @@ -918,7 +888,6 @@
> >          }
> >      }
> > 
> > -    /* Raise an exception if the arguments couldn't be parsed. */
> >      sipNoMethod(sipParseErr, sipName_QSGGeometry,
> > sipName_updateColoredRectGeometry,
> > doc_QSGGeometry_updateColoredRectGeometry);
> > 
> >      return SIP_NULLPTR;
> > @@ -936,6 +905,20 @@
> >  }
> > 
> > 
> > +extern "C" {static void assign_QSGGeometry(void *, SIP_SSIZE_T, void
> > *);}
> > +static void assign_QSGGeometry(void *sipDst, SIP_SSIZE_T sipDstIdx,
> > void *sipSrc)
> > +{
> > +    reinterpret_cast< ::QSGGeometry *>(sipDst)[sipDstIdx] =
> > *reinterpret_cast< ::QSGGeometry *>(sipSrc);
> > +}
> > +
> > +
> > +extern "C" {static void *copy_QSGGeometry(const void *, SIP_SSIZE_T);}
> > +static void *copy_QSGGeometry(const void *sipSrc, SIP_SSIZE_T
> > sipSrcIdx)
> > +{
> > +    return new  ::QSGGeometry(reinterpret_cast<const  ::QSGGeometry
> > *>(sipSrc)[sipSrcIdx]);
> > +}
> > +
> > +
> >  extern "C" {static void dealloc_QSGGeometry(sipSimpleWrapper *);}
> >  static void dealloc_QSGGeometry(sipSimpleWrapper *sipSelf)
> >  {
> > @@ -1117,9 +1100,9 @@
> >      SIP_NULLPTR,
> >  #endif
> >      dealloc_QSGGeometry,
> > +    assign_QSGGeometry,
> >      SIP_NULLPTR,
> > -    SIP_NULLPTR,
> > -    SIP_NULLPTR,
> > +    copy_QSGGeometry,
> >      release_QSGGeometry,
> >      SIP_NULLPTR,
> >      SIP_NULLPTR,

-- 
albert chin (china at thewrittenword.com)


More information about the PyQt mailing list