MeVisLab / pythonqt

Dynamic Python binding for Qt Applications
https://mevislab.github.io/pythonqt/
GNU Lesser General Public License v2.1
251 stars 89 forks source link

Parsing error during wrapper generation with Qt5.15 #57

Closed atracsys-sbt closed 11 months ago

atracsys-sbt commented 3 years ago

I tried to generate the wrapper with the generator with Qt5.15, but I encountered the following message:

PS D:\dev-ext\src\pythonqt-mevislab_fork\generator\release> .\pythonqt_generator.exe
Please wait while source files are being generated...
Parsing typesystem file [:/trolltech/generator/build_all.txt]
Fatal error: line=1, column=1, message=unexpected end of file
Fatal error: line=2, column=62, message=Failed to parse: 'typesystem_core.xml'
Cannot parse file: ':/trolltech/generator/build_all.txt'

After running it in debug, the culprit seems to be QXmlSimpleReader::parse in TypeDatabase::parseFile, which may work differently in Qt5.15 compared to previous versions.

jamesobutler commented 11 months ago

Using code as of https://github.com/MeVisLab/pythonqt/commit/77eba422268cc5be4d60f3dcf1f140389d59ed51 on Windows using MSVC tools such as "X64 Native Tools Command Prompt for VS 2022".

C:\GitHub\pythonqt>set PYTHON_PATH=C:\Users\butlej30383\AppData\Local\Programs\Python\Python39

C:\GitHub\pythonqt>set PYTHON_LIB=C:\Users\butlej30383\AppData\Local\Programs\Python\Python39\libs

C:\GitHub\pythonqt>set PYTHON_VERSION=3.9

C:\GitHub\pythonqt>createSolution.bat

Then I built the pythonqt_generator project successfully and proceed to try running the generator:

C:\GitHub\pythonqt\generator\release>set QTDIR==C:\Qt\5.15.2\msvc2019_64
C:\GitHub\pythonqt\generator\release>pythonqt_generator.exe --qt-version=5.15.2
Please wait while source files are being generated...
Parsing typesystem file [:/trolltech/generator/build_all.txt]
Fatal error: line=1, column=1, message=unexpected end of file

Fatal error: line=2, column=62, message=Failed to parse: 'typesystem_core.xml'

Cannot parse file: ':/trolltech/generator/build_all.txt'

C:\GitHub\pythonqt\generator\release>

Then upon reading https://github.com/MeVisLab/pythonqt/issues/68#issuecomment-1399291598 and running things from "/generator" as the working directory, I observed:

C:\GitHub\pythonqt\generator>set QTDIR==C:\Qt\5.15.2\msvc2019_64
C:\GitHub\pythonqt\generator>"release/pythonqt_generator.exe" --qt-version=5.15.2
Please wait while source files are being generated...
Parsing typesystem file [:/trolltech/generator/build_all.txt]
PreProcessing - Generate [.preprocessed.tmp] using [:/trolltech/generator/qtscript_masterinclude.h] and include-paths []
-------------------------------------------------------------
Using QT at: =C:\Qt\5.15.2\msvc2019_64
-------------------------------------------------------------
Building model using [.preprocessed.tmp]
WARNING(Generate) :: ShellImplGenerator: no java classes, skipping
WARNING(Generate) :: ShellHeaderGenerator: no java classes, skipping
Classes in typesystem: 0
Generated:
  - header....: 0 (0)
  - impl......: 0 (0)
  - modules...: 0 (0)
  - pri.......: 0 (0)

Done, 2 warnings (1821 known issues)

C:\GitHub\pythonqt\generator>

@usiems and @mrbean-bremen I have seen you two have been active in this repo recently. It appears I'm failing to complete wrapper generation successfully for Qt 5.15.2. Is this expected at this time using latest code in this repo? Can you help further debug here?

It appears that the windows (win64_msvc2017_64, 3.6, x64, 5.11.*) job has similarly generated 0 items, so maybe things are just not working for Windows MSVC building? Those version of MSVC2017, Python 3.6 and Qt 5.11 are all different from my setup, but maybe things are in general broken on Windows?

mrbean-bremen commented 11 months ago

Yes, we have noticed that the MSVC build does not work in the CI both for Qt5 and Qt6, and this is something to be understood and fixed. We missed this until recently as the CI builds are still green (a check that files are generated should probably be added to avoid this).

I'm locally working with VS 2022 and cmake, and this works fine for both Qt5 and Qt6, and I think @usiems also successfully used qmake. I'm quite sure that it also worked with Qt5.15 under VS 2019. I haven't used VS 2017 in a while, but there have been few relevant changes from 2017 to 2019.

Having said this, there is a difference of how I call the generator - I do not set QTDIR, but pass the Qt include paths myself (we build Qt ourselves). I suggest you try to do the same (pass the list of qt include paths to the generator) to check if the problem is with the detection of the header files. This would give us at least a hint of where to look.

mrbean-bremen commented 11 months ago

Seems like the problem is the environment variable INCLUDE that is set by MSVC. The system includes it points to confuse the parser. Unsetting the variable should fix the problem - I just created PR #164 that does that in the CI (also adds MSVC builds for 5.12, 5.15 and 6.5).

jamesobutler commented 11 months ago

hmm I'm still having issues (using cfb522be115f5ea265d62a6dfbfe9a7c3b420b87) with successful wrapper generation. I'm using Qt 5.15.2 downloaded for MSVC2019_x64 from the Qt Maintenance Tool and not built from source. I generally don't build from source due to many of the dependencies to build things such as Qt WebEngine which in Qt 5.15 I believe still required python 2.

C:\GitHub\pythonqt\generator>set QTDIR==C:\Qt\5.15.2\msvc2019_64

C:\GitHub\pythonqt\generator>set INCLUDE=

C:\GitHub\pythonqt\generator>"release/pythonqt_generator.exe" --qt-version=5.15.2
Please wait while source files are being generated...
Parsing typesystem file [:/trolltech/generator/build_all.txt]
WARNING(Typesystem) :: Unknown attribute for 'enum-type': 'flag'
PreProcessing - Generate [.preprocessed.tmp] using [:/trolltech/generator/qtscript_masterinclude.h] and include-paths []
-------------------------------------------------------------
Using QT at: =C:\Qt\5.15.2\msvc2019_64
-------------------------------------------------------------
Building model using [.preprocessed.tmp]
WARNING(Generate) :: ShellImplGenerator: no java classes, skipping
WARNING(Generate) :: ShellHeaderGenerator: no java classes, skipping
Classes in typesystem: 0
Generated:
  - header....: 0 (0)
  - impl......: 0 (0)
  - modules...: 0 (0)
  - pri.......: 0 (0)

Done, 3 warnings (1844 known issues)

C:\GitHub\pythonqt\generator>

@mrbean-bremen Is there something else I can check to determine if I have messed up somewhere either on the creation of the generator or the use of the generator? Could I be missing some other dependency? There is limited instructions at https://github.com/MeVisLab/pythonqt#building and I'm generally unfamiliar with qmake systems as I'm typically building code with libraries using cmake. https://github.com/MeVisLab/pythonqt/blob/cfb522be115f5ea265d62a6dfbfe9a7c3b420b87/generator/CMakeLists.txt appears to a bit outdated for Qt4.

iltommi commented 11 months ago

should the set QTDIR==C:\Qt\5.15.2\msvc2019_64 a set QTDIR=C:\Qt\5.15.2\msvc2019_64 (i.e. remove an = sign) ?

jamesobutler commented 11 months ago

@iltommi Thanks! Of course one of those typos as a developer you overlook countless times 🤦🏻‍♂️

Here's my output now. @mrbean-bremen Take a look to confirm if this looks correct to you and if so close this issue as completed.

C:\GitHub\pythonqt\generator>set QTDIR=C:\Qt\5.15.2\msvc2019_64

C:\GitHub\pythonqt\generator>set INCLUDE=

C:\GitHub\pythonqt\generator>"release/pythonqt_generator.exe"
Please wait while source files are being generated...
Trying to determine Qt version...
-------------------------------------------------------------
Using QT at: C:\Qt\5.15.2\msvc2019_64
-------------------------------------------------------------
Determined Qt version is 5.15.2
Parsing typesystem file [:/trolltech/generator/build_all.txt]
WARNING(Typesystem) :: Unknown attribute for 'enum-type': 'flag'
PreProcessing - Generate [.preprocessed.tmp] using [:/trolltech/generator/qtscript_masterinclude.h] and include-paths []
-------------------------------------------------------------
Using QT at: C:\Qt\5.15.2\msvc2019_64
-------------------------------------------------------------
Building model using [.preprocessed.tmp]
In file C:\Qt\5.15.2\msvc2019_64\include\QtCore\qglobal.h:
** WARNING scope not found for function definition: QtPrivate::IsMetaTypePair<T,true>::registerConverter
        definition *ignored*
WARNING(MetaJavaBuilder) :: enum 'QTimeZone::enum_1' does not have a type entry or is not an enum
WARNING(MetaJavaBuilder) :: Duplicate container type template 'QVector'
WARNING(MetaJavaBuilder) :: enum 'QCalendar::enum_1' does not have a type entry or is not an enum
WARNING(MetaJavaBuilder) :: skipping field 'QMediaService::d_ptr_deprecated' with unmatched type 'QMediaServicePrivate'
WARNING(MetaJavaBuilder) :: Unable to decide type 'QQmlListProperty<QQuickTransform>' of property 'transform' in class 'QQuickItem'
WARNING(MetaJavaBuilder) :: skipping field 'QSysInfo::MacintoshVersion' with unmatched type 'QSysInfo::MacVersion'
WARNING(MetaJavaBuilder) :: skipping field 'QSysInfo::WindowsVersion' with unmatched type 'QSysInfo::WinVersion'
WARNING(MetaJavaBuilder) :: enum 'QRandomGenerator::System' does not have a type entry or is not an enum
WARNING(MetaJavaBuilder) :: Duplicate container type template 'QPair'
WARNING(MetaJavaBuilder) :: Duplicate container type template 'QQueue'
WARNING(MetaJavaBuilder) :: skipping field 'QSurface::m_reserved' with unmatched type 'QSurfacePrivate'
WARNING(MetaJavaBuilder) :: skipping field 'QMediaObject::d_ptr_deprecated' with unmatched type 'QMediaObjectPrivate'
WARNING(MetaJavaBuilder) :: enum 'QSGAbstractRenderer::MatrixTransformFlag' does not have a type entry or is not an enum
WARNING(MetaJavaBuilder) :: enum 'Qt::ReturnByValueConstant' does not have a type entry or is not an enum
WARNING(MetaJavaBuilder) :: enum 'QCborNegativeInteger' does not have a type entry or is not an enum
WARNING(MetaJavaBuilder) :: enum 'QOcspCertificateStatus' does not have a type entry or is not an enum
WARNING(MetaJavaBuilder) :: enum 'QOcspRevocationReason' does not have a type entry or is not an enum
WARNING(MetaJavaBuilder) :: enum 'enum_2' does not have a type entry or is not an enum
WARNING(MetaJavaBuilder) :: enum 'enum_3' does not have a type entry or is not an enum
WARNING(MetaJavaBuilder) :: class 'QMediaServiceProviderPlugin' has multiple primary base classes 'QObject' and 'QMediaServiceProviderFactoryInterface'
WARNING(MetaJavaBuilder) :: template baseclass 'QListSpecialMethods<T>' of 'List' is not known
WARNING(MetaJavaBuilder) :: class 'QQuickItem' has multiple primary base classes 'QObject' and 'QQmlParserStatus'
WARNING(MetaJavaBuilder) :: class 'QAudioSystemPlugin' has multiple primary base classes 'QObject' and 'QAudioSystemFactoryInterface'
WARNING(MetaJavaBuilder) :: class 'QQmlExtensionPlugin' has multiple primary base classes 'QObject' and 'QQmlExtensionInterface'
WARNING(MetaJavaBuilder) :: private virtual function 'surfaceHandle() const' in 'QWindow'
WARNING(MetaJavaBuilder) :: private virtual function 'paintEngine() const' in 'QPaintDeviceWindow'
WARNING(MetaJavaBuilder) :: Final class 'QPaintDeviceWindow' set to non-final, as it is extended by other classes
WARNING(MetaJavaBuilder) :: private virtual function 'close()' in 'QSaveFile'
WARNING(MetaJavaBuilder) :: private virtual function 'surfaceHandle() const' in 'QOffscreenSurface'
WARNING(MetaJavaBuilder) :: signature 'event(QEvent*)' for function modification in 'QClipboard' not found. Possible candidates: event(QEvent*) in QObject
WARNING(MetaJavaBuilder) :: signature 'connectNotify(const char*)' for function modification in 'QClipboard' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'parent()const' for function modification in 'QDirModel' not found. Possible candidates: parent(QModelIndex)const in QDirModel
WARNING(MetaJavaBuilder) :: signature 'QOpenGLPaintDevice(QOpenGLPaintDevice)' for function modification in 'QOpenGLPaintDevice' not found. Possible candidates: QOpenGLPaintDevice() in QOpenGLPaintDevice, QOpenGLPaintDevice(QSize) in QOpenGLPaintDevice, QOpenGLPaintDevice(int,int) in QOpenGLPaintDevice
WARNING(MetaJavaBuilder) :: signature 'operator=(QOpenGLPaintDevice)' for function modification in 'QOpenGLPaintDevice' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'serialNumber()const' for function modification in 'QPixmap' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'intersect(QRect)const' for function modification in 'QRect' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'unite(QRect)const' for function modification in 'QRect' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'isHeaderVisible()const' for function modification in 'QCalendarWidget' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'setHeaderVisible(bool)' for function modification in 'QCalendarWidget' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'QApplication(int&,char**,QApplication::Type,int)' for function modification in 'QApplication' not found. Possible candidates: QApplication(int&,char**,int) in QApplication
WARNING(MetaJavaBuilder) :: signature 'QApplication(int&,char**,bool,int)' for function modification in 'QApplication' not found. Possible candidates: QApplication(int&,char**,int) in QApplication
WARNING(MetaJavaBuilder) :: signature 'commitData(QSessionManager&)' for function modification in 'QApplication' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'saveState(QSessionManager&)' for function modification in 'QApplication' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'operator=(QStyleOptionFrame)' for function modification in 'QStyleOptionFrameV3' not found. Possible candidates: operator=(QStyleOptionFrame) in QStyleOptionFrame
WARNING(MetaJavaBuilder) :: signature 'index(QLatin1String)const' for function modification in 'QXmlAttributes' not found. Possible candidates: index(QString)const in QXmlAttributes, index(QString,QString)const in QXmlAttributes
WARNING(MetaJavaBuilder) :: signature 'value(QLatin1String)const' for function modification in 'QXmlAttributes' not found. Possible candidates: value(QString)const in QXmlAttributes, value(QString,QString)const in QXmlAttributes, value(int)const in QXmlAttributes
WARNING(MetaJavaBuilder) :: signature 'setCursorForItemOnly(QCursor)' for function modification in 'QGraphicsItem' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'children()const' for function modification in 'QGraphicsItem' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'fromPunycode(QByteArray)' for function modification in 'QUrl' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'toPunycode(QString)' for function modification in 'QUrl' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'julianToGregorian(uint,int&,int&,int&)' for function modification in 'QDate' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'setYMD(int,int,int)' for function modification in 'QDate' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'operator=(QStyleOptionTab)' for function modification in 'QStyleOptionTabV3' not found. Possible candidates: operator=(QStyleOptionTab) in QStyleOptionTab
WARNING(MetaJavaBuilder) :: signature 'getProcAddress(QString)const' for function modification in 'QGLContext' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'generateFontDisplayLists(QFont,int)' for function modification in 'QGLContext' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'serialNumber()const' for function modification in 'QIcon' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'QIcon(QIconEngineV2*)' for function modification in 'QIcon' not found. Possible candidates: QIcon() in QIcon, QIcon(QIconEngine*) in QIcon, QIcon(QIcon) in QIcon, QIcon(QPixmap) in QIcon, QIcon(QString) in QIcon
WARNING(MetaJavaBuilder) :: signature 'operator=(QStyleOptionViewItem)' for function modification in 'QStyleOptionViewItemV2' not found. Possible candidates: operator=(QStyleOptionViewItem) in QStyleOptionViewItem
WARNING(MetaJavaBuilder) :: signature 'intersect(QItemSelectionRange)const' for function modification in 'QItemSelectionRange' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'serialNumber()const' for function modification in 'QPalette' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'operator!=(QFontMetrics)' for function modification in 'QFontMetrics' not found. Possible candidates: operator!=(QFontMetrics)const in QFontMetrics
WARNING(MetaJavaBuilder) :: signature 'operator==(QFontMetrics)' for function modification in 'QFontMetrics' not found. Possible candidates: operator==(QFontMetrics)const in QFontMetrics
WARNING(MetaJavaBuilder) :: signature 'operator=(QFuture)' for function modification in 'QFuture' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'getItemPosition(int,int*,int*,int*,int*)' for function modification in 'QGridLayout' not found. Possible candidates: getItemPosition(int,int*,int*,int*,int*)const in QGridLayout
WARNING(MetaJavaBuilder) :: signature 'parent()const' for function modification in 'QStandardItemModel' not found. Possible candidates: parent(QModelIndex)const in QStandardItemModel
WARNING(MetaJavaBuilder) :: signature 'fromType()' for function modification in 'QMetaEnum' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'operator=(QStyleOptionFrame)' for function modification in 'QStyleOptionFrameV2' not found. Possible candidates: operator=(QStyleOptionFrame) in QStyleOptionFrame
WARNING(MetaJavaBuilder) :: signature 'QImage(const char*,const char*)' for function modification in 'QImage' not found. Possible candidates: QImage() in QImage, QImage(QImage) in QImage, QImage(QSize,QImage::Format) in QImage, QImage(QString,const char*) in QImage, QImage(const char**) in QImage, QImage(int,int,QImage::Format) in QImage
WARNING(MetaJavaBuilder) :: signature 'QImage(const uchar*,int,int,int,QImage::Format)' for function modification in 'QImage' not found. Possible candidates: QImage() in QImage, QImage(QImage) in QImage, QImage(QSize,QImage::Format) in QImage, QImage(QString,const char*) in QImage, QImage(const char**) in QImage, QImage(int,int,QImage::Format) in QImage
WARNING(MetaJavaBuilder) :: signature 'QImage(const uchar*,int,int,QImage::Format)' for function modification in 'QImage' not found. Possible candidates: QImage() in QImage, QImage(QImage) in QImage, QImage(QSize,QImage::Format) in QImage, QImage(QString,const char*) in QImage, QImage(const char**) in QImage, QImage(int,int,QImage::Format) in QImage
WARNING(MetaJavaBuilder) :: signature 'setText(const char*,const char*,QString)' for function modification in 'QImage' not found. Possible candidates: setText(QString,QString) in QImage
WARNING(MetaJavaBuilder) :: signature 'text(const char*,const char*)const' for function modification in 'QImage' not found. Possible candidates: text(QString)const in QImage
WARNING(MetaJavaBuilder) :: signature 'serialNumber()const' for function modification in 'QImage' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'textLanguages()const' for function modification in 'QImage' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'QImage(uchar*,int,int,QImage::Format)' for function modification in 'QImage' not found. Possible candidates: QImage() in QImage, QImage(QImage) in QImage, QImage(QSize,QImage::Format) in QImage, QImage(QString,const char*) in QImage, QImage(const char**) in QImage, QImage(int,int,QImage::Format) in QImage
WARNING(MetaJavaBuilder) :: signature 'QImage(uchar*,int,int,int,QImage::Format)' for function modification in 'QImage' not found. Possible candidates: QImage() in QImage, QImage(QImage) in QImage, QImage(QSize,QImage::Format) in QImage, QImage(QString,const char*) in QImage, QImage(const char**) in QImage, QImage(int,int,QImage::Format) in QImage
WARNING(MetaJavaBuilder) :: signature 'asAffineMatrix()' for function modification in 'QTransform' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'postEvent(QObject*,QEvent*)' for function modification in 'QCoreApplication' not found. Possible candidates: postEvent(QObject*,QEvent*,int) in QCoreApplication
WARNING(MetaJavaBuilder) :: signature 'argv()' for function modification in 'QCoreApplication' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'argc()' for function modification in 'QCoreApplication' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'QCoreApplication(int&,char**)' for function modification in 'QCoreApplication' not found. Possible candidates: QCoreApplication(int&,char**,int) in QCoreApplication
WARNING(MetaJavaBuilder) :: signature 'children()const' for function modification in 'QGraphicsWidget' not found. Possible candidates: children()const in QObject
WARNING(MetaJavaBuilder) :: signature 'children()const' for function modification in 'QGraphicsObject' not found. Possible candidates: children()const in QObject
WARNING(MetaJavaBuilder) :: signature 'parent()const' for function modification in 'QSortFilterProxyModel' not found. Possible candidates: parent(QModelIndex)const in QSortFilterProxyModel
WARNING(MetaJavaBuilder) :: signature 'setUniformValueArray(int,const GLuint*,int)' for function modification in 'QGLShaderProgram' not found. Possible candidates: setUniformValueArray(const char*,const GLfloat*,int,int) in QGLShaderProgram, setUniformValueArray(const char*,const GLint*,int) in QGLShaderProgram, setUniformValueArray(const char*,const QMatrix4x4*,int) in QGLShaderProgram, setUniformValueArray(const char*,const QVector2D*,int) in QGLShaderProgram, setUniformValueArray(const char*,const QVector3D*,int) in QGLShaderProgram, setUniformValueArray(const char*,const QVector4D*,int) in QGLShaderProgram, setUniformValueArray(const char*,const uint*,int) in QGLShaderProgram, setUniformValueArray(int,const GLfloat*,int,int) in QGLShaderProgram, setUniformValueArray(int,const GLint*,int) in QGLShaderProgram, setUniformValueArray(int,const QMatrix4x4*,int) in QGLShaderProgram, setUniformValueArray(int,const QVector2D*,int) in QGLShaderProgram, setUniformValueArray(int,const QVector3D*,int) in QGLShaderProgram, setUniformValueArray(int,const QVector4D*,int) in QGLShaderProgram, setUniformValueArray(int,const uint*,int) in QGLShaderProgram
WARNING(MetaJavaBuilder) :: signature 'setUniformValueArray(const char*,const GLuint*,int)' for function modification in 'QGLShaderProgram' not found. Possible candidates: setUniformValueArray(const char*,const GLfloat*,int,int) in QGLShaderProgram, setUniformValueArray(const char*,const GLint*,int) in QGLShaderProgram, setUniformValueArray(const char*,const QMatrix4x4*,int) in QGLShaderProgram, setUniformValueArray(const char*,const QVector2D*,int) in QGLShaderProgram, setUniformValueArray(const char*,const QVector3D*,int) in QGLShaderProgram, setUniformValueArray(const char*,const QVector4D*,int) in QGLShaderProgram, setUniformValueArray(const char*,const uint*,int) in QGLShaderProgram, setUniformValueArray(int,const GLfloat*,int,int) in QGLShaderProgram, setUniformValueArray(int,const GLint*,int) in QGLShaderProgram, setUniformValueArray(int,const QMatrix4x4*,int) in QGLShaderProgram, setUniformValueArray(int,const QVector2D*,int) in QGLShaderProgram, setUniformValueArray(int,const QVector3D*,int) in QGLShaderProgram, setUniformValueArray(int,const QVector4D*,int) in QGLShaderProgram, setUniformValueArray(int,const uint*,int) in QGLShaderProgram
WARNING(MetaJavaBuilder) :: signature 'setUniformValue(int,GLuint)' for function modification in 'QGLShaderProgram' not found. Possible candidates: setUniformValue(const char*,Array) in QGLShaderProgram, setUniformValue(const char*,Array) in QGLShaderProgram, setUniformValue(const char*,Array) in QGLShaderProgram, setUniformValue(const char*,GLfloat) in QGLShaderProgram, setUniformValue(const char*,GLfloat,GLfloat) in QGLShaderProgram, setUniformValue(const char*,GLfloat,GLfloat,GLfloat) in QGLShaderProgram, setUniformValue(const char*,GLfloat,GLfloat,GLfloat,GLfloat) in QGLShaderProgram, setUniformValue(const char*,GLint) in QGLShaderProgram, setUniformValue(const char*,QColor) in QGLShaderProgram, setUniformValue(const char*,QMatrix4x4) in QGLShaderProgram, setUniformValue(const char*,QPoint) in QGLShaderProgram, setUniformValue(const char*,QPointF) in QGLShaderProgram, setUniformValue(const char*,QSize) in QGLShaderProgram, setUniformValue(const char*,QSizeF) in QGLShaderProgram, setUniformValue(const char*,QTransform) in QGLShaderProgram, setUniformValue(const char*,QVector2D) in QGLShaderProgram, setUniformValue(const char*,QVector3D) in QGLShaderProgram, setUniformValue(const char*,QVector4D) in QGLShaderProgram, setUniformValue(const char*,uint) in QGLShaderProgram, setUniformValue(int,Array) in QGLShaderProgram, setUniformValue(int,Array) in QGLShaderProgram, setUniformValue(int,Array) in QGLShaderProgram, setUniformValue(int,GLfloat) in QGLShaderProgram, setUniformValue(int,GLfloat,GLfloat) in QGLShaderProgram, setUniformValue(int,GLfloat,GLfloat,GLfloat) in QGLShaderProgram, setUniformValue(int,GLfloat,GLfloat,GLfloat,GLfloat) in QGLShaderProgram, setUniformValue(int,GLint) in QGLShaderProgram, setUniformValue(int,QColor) in QGLShaderProgram, setUniformValue(int,QMatrix4x4) in QGLShaderProgram, setUniformValue(int,QPoint) in QGLShaderProgram, setUniformValue(int,QPointF) in QGLShaderProgram, setUniformValue(int,QSize) in QGLShaderProgram, setUniformValue(int,QSizeF) in QGLShaderProgram, setUniformValue(int,QTransform) in QGLShaderProgram, setUniformValue(int,QVector2D) in QGLShaderProgram, setUniformValue(int,QVector3D) in QGLShaderProgram, setUniformValue(int,QVector4D) in QGLShaderProgram, setUniformValue(int,uint) in QGLShaderProgram
WARNING(MetaJavaBuilder) :: signature 'setUniformValue(const char*,GLuint)' for function modification in 'QGLShaderProgram' not found. Possible candidates: setUniformValue(const char*,Array) in QGLShaderProgram, setUniformValue(const char*,Array) in QGLShaderProgram, setUniformValue(const char*,Array) in QGLShaderProgram, setUniformValue(const char*,GLfloat) in QGLShaderProgram, setUniformValue(const char*,GLfloat,GLfloat) in QGLShaderProgram, setUniformValue(const char*,GLfloat,GLfloat,GLfloat) in QGLShaderProgram, setUniformValue(const char*,GLfloat,GLfloat,GLfloat,GLfloat) in QGLShaderProgram, setUniformValue(const char*,GLint) in QGLShaderProgram, setUniformValue(const char*,QColor) in QGLShaderProgram, setUniformValue(const char*,QMatrix4x4) in QGLShaderProgram, setUniformValue(const char*,QPoint) in QGLShaderProgram, setUniformValue(const char*,QPointF) in QGLShaderProgram, setUniformValue(const char*,QSize) in QGLShaderProgram, setUniformValue(const char*,QSizeF) in QGLShaderProgram, setUniformValue(const char*,QTransform) in QGLShaderProgram, setUniformValue(const char*,QVector2D) in QGLShaderProgram, setUniformValue(const char*,QVector3D) in QGLShaderProgram, setUniformValue(const char*,QVector4D) in QGLShaderProgram, setUniformValue(const char*,uint) in QGLShaderProgram, setUniformValue(int,Array) in QGLShaderProgram, setUniformValue(int,Array) in QGLShaderProgram, setUniformValue(int,Array) in QGLShaderProgram, setUniformValue(int,GLfloat) in QGLShaderProgram, setUniformValue(int,GLfloat,GLfloat) in QGLShaderProgram, setUniformValue(int,GLfloat,GLfloat,GLfloat) in QGLShaderProgram, setUniformValue(int,GLfloat,GLfloat,GLfloat,GLfloat) in QGLShaderProgram, setUniformValue(int,GLint) in QGLShaderProgram, setUniformValue(int,QColor) in QGLShaderProgram, setUniformValue(int,QMatrix4x4) in QGLShaderProgram, setUniformValue(int,QPoint) in QGLShaderProgram, setUniformValue(int,QPointF) in QGLShaderProgram, setUniformValue(int,QSize) in QGLShaderProgram, setUniformValue(int,QSizeF) in QGLShaderProgram, setUniformValue(int,QTransform) in QGLShaderProgram, setUniformValue(int,QVector2D) in QGLShaderProgram, setUniformValue(int,QVector3D) in QGLShaderProgram, setUniformValue(int,QVector4D) in QGLShaderProgram, setUniformValue(int,uint) in QGLShaderProgram
WARNING(MetaJavaBuilder) :: signature 'cacheMode()' for function modification in 'QMovie' not found. Possible candidates: cacheMode()const in QMovie
WARNING(MetaJavaBuilder) :: signature 'isSortingEnabled()const' for function modification in 'QTreeWidget' not found. Possible candidates: isSortingEnabled()const in QTreeView
WARNING(MetaJavaBuilder) :: signature 'setSortingEnabled(bool)' for function modification in 'QTreeWidget' not found. Possible candidates: setSortingEnabled(bool) in QTreeView
WARNING(MetaJavaBuilder) :: signature 'indexOfTopLevelItem(QTreeWidgetItem*)' for function modification in 'QTreeWidget' not found. Possible candidates: indexOfTopLevelItem(QTreeWidgetItem*)const in QTreeWidget
WARNING(MetaJavaBuilder) :: signature 'operator=(QStyleOptionToolBox)' for function modification in 'QStyleOptionToolBoxV2' not found. Possible candidates: operator=(QStyleOptionToolBox) in QStyleOptionToolBox
WARNING(MetaJavaBuilder) :: signature 'hasRegisteredConverterFunction()' for function modification in 'QMetaType' not found. Possible candidates: hasRegisteredConverterFunction(int,int) in QMetaType
WARNING(MetaJavaBuilder) :: signature 'hasRegisteredDebugStreamOperator()' for function modification in 'QMetaType' not found. Possible candidates: hasRegisteredDebugStreamOperator(int) in QMetaType
WARNING(MetaJavaBuilder) :: signature 'hasRegisteredComparators()' for function modification in 'QMetaType' not found. Possible candidates: hasRegisteredComparators(int) in QMetaType
WARNING(MetaJavaBuilder) :: signature 'registerEqualsComparator()' for function modification in 'QMetaType' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'registerComparators()' for function modification in 'QMetaType' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'registerConverter()' for function modification in 'QMetaType' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'registerDebugStreamOperator()' for function modification in 'QMetaType' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'eor(QRegion)const' for function modification in 'QRegion' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'intersect(QRegion)const' for function modification in 'QRegion' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'subtract(QRegion)const' for function modification in 'QRegion' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'unite(QRegion)const' for function modification in 'QRegion' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'standardIconImplementation(QStyle::StandardPixmap,const QStyleOption*,const QWidget*)const' for function modification in 'QStyle' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'layoutSpacingImplementation(QSizePolicy::ControlType,QSizePolicy::ControlType,Qt::Orientation,const QStyleOption*,const QWidget*)const' for function modification in 'QStyle' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'operator==(QGradient)' for function modification in 'QGradient' not found. Possible candidates: operator==(QGradient)const in QGradient
WARNING(MetaJavaBuilder) :: signature 'operator=(QStyleOptionTab)' for function modification in 'QStyleOptionTabV2' not found. Possible candidates: operator=(QStyleOptionTab) in QStyleOptionTab
WARNING(MetaJavaBuilder) :: signature 'encodedData(const char*)const' for function modification in 'QDropEvent' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'format(int)const' for function modification in 'QDropEvent' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'provides(const char*)const' for function modification in 'QDropEvent' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'operator[](qsizetype)' for function modification in 'QByteArray' not found. Possible candidates: operator[](int) in QByteArray, operator[](int)const in QByteArray, operator[](uint) in QByteArray, operator[](uint)const in QByteArray
WARNING(MetaJavaBuilder) :: signature 'QByteArray(const char*)' for function modification in 'QByteArray' not found. Possible candidates: QByteArray() in QByteArray, QByteArray(QByteArray) in QByteArray, QByteArray(const char*,int) in QByteArray, QByteArray(int,char) in QByteArray
WARNING(MetaJavaBuilder) :: signature 'operator=(QStyleOptionViewItem)' for function modification in 'QStyleOptionViewItemV3' not found. Possible candidates: operator=(QStyleOptionViewItem) in QStyleOptionViewItem
WARNING(MetaJavaBuilder) :: signature 'update()' for function modification in 'QAbstractItemView' not found. Possible candidates: update(QModelIndex) in QAbstractItemView
WARNING(MetaJavaBuilder) :: signature 'isAmbiguous()' for function modification in 'QShortcutEvent' not found. Possible candidates: isAmbiguous()const in QShortcutEvent
WARNING(MetaJavaBuilder) :: signature 'shortcutId()' for function modification in 'QShortcutEvent' not found. Possible candidates: shortcutId()const in QShortcutEvent
WARNING(MetaJavaBuilder) :: signature 'key()' for function modification in 'QShortcutEvent' not found. Possible candidates: key()const in QShortcutEvent
WARNING(MetaJavaBuilder) :: signature 'newQMetaObject()' for function modification in 'QJSEngine' not found. Possible candidates: newQMetaObject(const QMetaObject*) in QJSEngine
WARNING(MetaJavaBuilder) :: signature 'enabledChange(bool)' for function modification in 'QWidget' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'fontChange(QFont)' for function modification in 'QWidget' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'paletteChange(QPalette)' for function modification in 'QWidget' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'setShown(bool)' for function modification in 'QWidget' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'windowActivationChange(bool)' for function modification in 'QWidget' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'intersect(QRectF)const' for function modification in 'QRectF' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'unite(QRectF)const' for function modification in 'QRectF' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'connectNotify(const char*)' for function modification in 'QBuffer' not found. Possible candidates: connectNotify(QMetaMethod) in QBuffer
WARNING(MetaJavaBuilder) :: signature 'disconnectNotify(const char*)' for function modification in 'QBuffer' not found. Possible candidates: disconnectNotify(QMetaMethod) in QBuffer
WARNING(MetaJavaBuilder) :: signature 'codecForTr()' for function modification in 'QTextCodec' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'getColor(QColor,QWidget*)' for function modification in 'QColorDialog' not found. Possible candidates: getColor(QColor,QWidget*,QString,QFlags<QColorDialog::ColorDialogOption>) in QColorDialog
WARNING(MetaJavaBuilder) :: signature 'value(QString,QLatin1String)const' for function modification in 'QXmlStreamAttributes' not found. Possible candidates: value(QString,QString)const in QXmlStreamAttributes, value(QString)const in QXmlStreamAttributes
WARNING(MetaJavaBuilder) :: signature 'value(QLatin1String,QLatin1String)const' for function modification in 'QXmlStreamAttributes' not found. Possible candidates: value(QString,QString)const in QXmlStreamAttributes, value(QString)const in QXmlStreamAttributes
WARNING(MetaJavaBuilder) :: signature 'value(QLatin1String)const' for function modification in 'QXmlStreamAttributes' not found. Possible candidates: value(QString,QString)const in QXmlStreamAttributes, value(QString)const in QXmlStreamAttributes
WARNING(MetaJavaBuilder) :: signature 'hasAttribute(QLatin1String)const' for function modification in 'QXmlStreamAttributes' not found. Possible candidates: hasAttribute(QString,QString)const in QXmlStreamAttributes, hasAttribute(QString)const in QXmlStreamAttributes
WARNING(MetaJavaBuilder) :: signature 'standardIconImplementation(QStyle::StandardPixmap,const QStyleOption*,const QWidget*)const' for function modification in 'QCommonStyle' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'operator=(QStyleOptionTabBarBase)' for function modification in 'QStyleOptionTabBarBaseV2' not found. Possible candidates: operator=(QStyleOptionTabBarBase) in QStyleOptionTabBarBase
WARNING(MetaJavaBuilder) :: signature 'fontDisplayListBase(QFont,int)' for function modification in 'QGLWidget' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'operator=(QStyleOptionProgressBar)' for function modification in 'QStyleOptionProgressBarV2' not found. Possible candidates: operator=(QStyleOptionProgressBar) in QStyleOptionProgressBar
WARNING(MetaJavaBuilder) :: signature 'map(longlong,longlong,QFile::MemoryMapFlags)' for function modification in 'QFile' not found. Possible candidates: map(longlong,longlong,QFileDevice::MemoryMapFlags) in QFileDevice
WARNING(MetaJavaBuilder) :: signature 'unmap(uchar*)' for function modification in 'QFile' not found. Possible candidates: unmap(uchar*) in QFileDevice
WARNING(MetaJavaBuilder) :: signature 'open(int,QFlags<QIODevice::OpenModeFlag>)' for function modification in 'QFile' not found. Possible candidates: open(QFlags<QIODevice::OpenModeFlag>) in QFile, open(int,QFlags<QIODevice::OpenModeFlag>,QFlags<QFileDevice::FileHandleFlag>) in QFile
WARNING(MetaJavaBuilder) :: signature 'operator!=(QFontMetricsF)' for function modification in 'QFontMetricsF' not found. Possible candidates: operator!=(QFontMetricsF)const in QFontMetricsF
WARNING(MetaJavaBuilder) :: signature 'operator==(QFontMetricsF)' for function modification in 'QFontMetricsF' not found. Possible candidates: operator==(QFontMetricsF)const in QFontMetricsF
WARNING(MetaJavaBuilder) :: signature 'operator<<(QBool)' for function modification in 'QTextStream' not found. Possible candidates: operator<<(QChar) in QTextStream, operator<<(char) in QTextStream, operator<<(QByteArray) in QTextStream, operator<<(QString) in QTextStream, operator<<(const char*) in QTextStream, operator<<(const void*) in QTextStream, operator<<(double) in QTextStream, operator<<(float) in QTextStream, operator<<(longlong) in QTextStream, operator<<(ulonglong) in QTextStream, operator<<(signed int) in QTextStream, operator<<(signed long) in QTextStream, operator<<(signed short) in QTextStream, operator<<(uint) in QTextStream, operator<<(ulong) in QTextStream, operator<<(ushort) in QTextStream
WARNING(MetaJavaBuilder) :: signature 'operator=(QStyleOptionViewItem)' for function modification in 'QStyleOptionViewItemV4' not found. Possible candidates: operator=(QStyleOptionViewItem) in QStyleOptionViewItem
WARNING(MetaJavaBuilder) :: signature 'operator int()const' for function modification in 'QKeySequence' not found. Possible candidates:
WARNING(MetaJavaBuilder) :: signature 'toUInt(QString,bool*,int)const' for function modification in 'QLocale' not found. Possible candidates: toUInt(QString,bool*)const in QLocale
WARNING(MetaJavaBuilder) :: signature 'toULongLong(QString,bool*,int)const' for function modification in 'QLocale' not found. Possible candidates: toULongLong(QString,bool*)const in QLocale
WARNING(MetaJavaBuilder) :: signature 'operator=(QStyleOptionDockWidget)' for function modification in 'QStyleOptionDockWidgetV2' not found. Possible candidates: operator=(QStyleOptionDockWidget) in QStyleOptionDockWidget
WARNING(Generate) :: AbstractMeta::findEnum(), unknown class 'QAccessible' in 'QAccessible::Event'
WARNING(Generate) :: class 'QGraphicsSvgItem' inherits from polymorphic class 'QGraphicsItem', but has no polymorphic id set
WARNING(Generate) :: class 'QGraphicsVideoItem' inherits from polymorphic class 'QGraphicsItem', but has no polymorphic id set
WARNING(Generate) :: class 'QGraphicsSceneEvent' inherits from polymorphic class 'QEvent', but has no polymorphic id set
WARNING(Generate) :: class 'QInputEvent' inherits from polymorphic class 'QEvent', but has no polymorphic id set
WARNING(Generate) :: class 'QAbstractGraphicsShapeItem' inherits from polymorphic class 'QGraphicsItem', but has no polymorphic id set
WARNING(Generate) :: class 'QGraphicsItem' inherits from polymorphic class 'QGraphicsItem', but has no polymorphic id set
WARNING(Generate) :: class 'QGraphicsObject' inherits from polymorphic class 'QGraphicsItem', but has no polymorphic id set
WARNING(Generate) :: class 'QGraphicsProxyWidget' inherits from polymorphic class 'QGraphicsItem', but has no polymorphic id set
Classes in typesystem: 872
Generated:
  - header....: 847 (847)
  - impl......: 847 (847)
  - modules...: 0 (0)
  - pri.......: 15 (15)

Done, 159 warnings (1389 known issues)

C:\GitHub\pythonqt\generator>
mrbean-bremen commented 11 months ago

Yes, this looks good! The warnings don't look good of course, but most of them are irrelevant as they are related to removed methods. This is very similar to the output in the CI. Removing these warnings (there are more yet in Qt6) will take some time and patience, hopefully somebody will have that. Maybe I'll have a go at it later...

We are thinking about changing that "feature" that the INCLUDE environment variable is used for include directories, maybe by just renaming it to something like "PYTHONQT_INCLUDES" in case somebody still needs this. As it is, it was quite unexpected for me.

mrbean-bremen commented 11 months ago

I made a PR that just does that (uses PYTHONQT_INCLUDES instead of INCLUDE), so that the workaround of clearing INCLUDE can be removed again. I doubt that this will affect anyone, as this is not documented anyway. We can probably close this issue after that is merged.

mrbean-bremen commented 11 months ago

Closing as discussed.