Qt 5.13.2 and PyQt 5.14.9

Albert Chin pyqt at mlists.thewrittenword.com
Tue Jun 27 14:15:17 BST 2023


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,


More information about the PyQt mailing list