Ports built by Poudriere on FreeBSD 13.1-RELEASE-p6 GENERIC (amd64) For a while now pyside2 has been failing to build with the following error: [ 14% 236/1649] /usr/bin/c++ -DNDEBUG -DPYSIDE_QML_SUPPORT=1 -DQT_CORE_LIB -DQT_ GUI_LIB -DQT_NO_DEBUG -DQtGui_EXPORTS -I/wrkdirs/usr/ports/devel/pyside2/work-py 39/pyside-setup-opensource-src-5.15.2/sources/pyside2/PySide2/QtGui/QtGui -I/wrk dirs/usr/ports/devel/pyside2/work-py39/pyside-setup-opensource-src-5.15.2/source s/pyside2/PySide2/QtGui -I/wrkdirs/usr/ports/devel/pyside2/work-py39/.build/PySi de2/QtGui -I/wrkdirs/usr/ports/devel/pyside2/work-py39/pyside-setup-opensource-s rc-5.15.2/sources/pyside2/PySide2 -I/wrkdirs/usr/ports/devel/pyside2/work-py39/p yside-setup-opensource-src-5.15.2/sources/pyside2/libpyside -I/wrkdirs/usr/ports /devel/pyside2/work-py39/.build/PySide2/QtCore/PySide2/QtCore -isystem /usr/loca l/include/qt5 -isystem /usr/local/include/qt5/QtCore -isystem /usr/local/lib/qt5 /mkspecs/freebsd-clang -isystem /usr/local/include/qt5/QtGui -isystem /usr/local /include -isystem /usr/local/include/shiboken2 -isystem /usr/local/include/python3.9 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -fvisibility=hidden -Wno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -DNDEBUG -fPIC -fPIC -fPIC -std=gnu++11 -MD -MT PySide2/QtGui/CMakeFiles/QtGui.dir/PySide2/QtGui/qdragmoveevent_wrapper.cpp.o -MF PySide2/QtGui/CMakeFiles/QtGui.dir/PySide2/QtGui/qdragmoveevent_wrapper.cpp.o.d -o PySide2/QtGui/CMakeFiles/QtGui.dir/PySide2/QtGui/qdragmoveevent_wrapper.cpp.o -c /wrkdirs/usr/ports/devel/pyside2/work-py39/.build/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.cpp FAILED: PySide2/QtGui/CMakeFiles/QtGui.dir/PySide2/QtGui/qdragmoveevent_wrapper.cpp.o /usr/bin/c++ -DNDEBUG -DPYSIDE_QML_SUPPORT=1 -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQtGui_EXPORTS -I/wrkdirs/usr/ports/devel/pyside2/work-py39/pyside-setup-opensource-src-5.15.2/sources/pyside2/PySide2/QtGui/QtGui -I/wrkdirs/usr/ports/devel/pyside2/work-py39/pyside-setup-opensource-src-5.15.2/sources/pyside2/PySide2/QtGui -I/wrkdirs/usr/ports/devel/pyside2/work-py39/.build/PySide2/QtGui -I/wrkdirs/usr/ports/devel/pyside2/work-py39/pyside-setup-opensource-src-5.15.2/sources/pyside2/PySide2 -I/wrkdirs/usr/ports/devel/pyside2/work-py39/pyside-setup-opensource-src-5.15.2/sources/pyside2/libpyside -I/wrkdirs/usr/ports/devel/pyside2/work-py39/.build/PySide2/QtCore/PySide2/QtCore -isystem /usr/local/include/qt5 -isystem /usr/local/include/qt5/QtCore -isystem /usr/local/lib/qt5/mkspecs/freebsd-clang -isystem /usr/local/include/qt5/QtGui -isystem /usr/local/include -isystem /usr/local/include/shiboken2 -isystem /usr/local/include/python3.9 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -fvisibility=hidden -Wno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -DNDEBUG -fPIC -fPIC -fPIC -std=gnu++11 -MD -MT PySide2/QtGui/CMakeFiles/QtGui.dir/PySide2/QtGui/qdragmoveevent_wrapper.cpp.o -MF PySide2/QtGui/CMakeFiles/QtGui.dir/PySide2/QtGui/qdragmoveevent_wrapper.cpp.o.d -o PySide2/QtGui/CMakeFiles/QtGui.dir/PySide2/QtGui/qdragmoveevent_wrapper.cpp.o -c /wrkdirs/usr/ports/devel/pyside2/work-py39/.build/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.cpp In file included from /wrkdirs/usr/ports/devel/pyside2/work-py39/.build/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.cpp:65: /wrkdirs/usr/ports/devel/pyside2/work-py39/.build/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.h:55:220: error: no member named 'DragMove' in 'QOpenGLShader'; did you mean simply 'DragMove'? QDragMoveEventWrapper(const QPoint & pos, QFlags<Qt::DropAction> actions, const QMimeData * data, QFlags<Qt::MouseButton> buttons, QFlags<Qt::KeyboardModifier> modifiers, QFlags<QOpenGLShader::ShaderTypeBit> type = QOpenGLShader::DragMove); ^~~~~~~~~~~~~~~~~~~~~~~ DragMove /usr/local/include/qt5/QtCore/qcoreevent.h:107:9: note: 'DragMove' declared here DragMove = 61, // drag moves in widget ^ In file included from /wrkdirs/usr/ports/devel/pyside2/work-py39/.build/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.cpp:65: /wrkdirs/usr/ports/devel/pyside2/work-py39/.build/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.h:55:213: error: no viable conversion from 'QEvent::Type' to 'QFlags<QOpenGLShader::ShaderTypeBit>' QDragMoveEventWrapper(const QPoint & pos, QFlags<Qt::DropAction> actions, const QMimeData * data, QFlags<Qt::MouseButton> buttons, QFlags<Qt::KeyboardModifier> modifiers, QFlags<QOpenGLShader::ShaderTypeBit> type = QOpenGLShader::DragMove); ^ ~~~~~~~~ /usr/local/include/qt5/QtCore/qflags.h:89:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'QEvent::Type' to 'const QFlags<QOpenGLShader::ShaderTypeBit> &' for 1st argument class QFlags ^ /usr/local/include/qt5/QtCore/qflags.h:89:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'QEvent::Type' to 'QFlags<QOpenGLShader::ShaderTypeBit> &&' for 1st argument /usr/local/include/qt5/QtCore/qflags.h:121:29: note: candidate constructor not viable: no known conversion from 'QEvent::Type' to 'QOpenGLShader::ShaderTypeBit' for 1st argument Q_DECL_CONSTEXPR inline QFlags(Enum flags) noexcept : i(Int(flags)) {} ^ /usr/local/include/qt5/QtCore/qflags.h:123:80: note: candidate constructor not viable: no known conversion from 'QEvent::Type' to 'QFlags<QOpenGLShader::ShaderTypeBit>::Zero' (aka 'int (QFlags<QOpenGLShader::ShaderTypeBit>::Private::*)') for 1st argument QT_DEPRECATED_X("Use default constructor instead") Q_DECL_CONSTEXPR inline QFlags(Zero) noexcept : i(0) {} ^ /usr/local/include/qt5/QtCore/qflags.h:125:29: note: candidate constructor not viable: no known conversion from 'QEvent::Type' to 'QFlag' for 1st argument Q_DECL_CONSTEXPR inline QFlags(QFlag flag) noexcept : i(flag) {} ^ /usr/local/include/qt5/QtCore/qflags.h:127:29: note: candidate constructor not viable: no known conversion from 'QEvent::Type' to 'std::initializer_list<ShaderTypeBit>' for 1st argument Q_DECL_CONSTEXPR inline QFlags(std::initializer_list<Enum> flags) noexcept ^ /wrkdirs/usr/ports/devel/pyside2/work-py39/.build/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.h:55:213: note: passing argument to parameter 'type' here QDragMoveEventWrapper(const QPoint & pos, QFlags<Qt::DropAction> actions, const QMimeData * data, QFlags<Qt::MouseButton> buttons, QFlags<Qt::KeyboardModifier> modifiers, QFlags<QOpenGLShader::ShaderTypeBit> type = QOpenGLShader::DragMove); ^ /wrkdirs/usr/ports/devel/pyside2/work-py39/.build/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.cpp:105:240: error: no matching constructor for initialization of 'QDragMoveEvent' QDragMoveEventWrapper::QDragMoveEventWrapper(const QPoint & pos, QFlags<Qt::DropAction> actions, const QMimeData * data, QFlags<Qt::MouseButton> buttons, QFlags<Qt::KeyboardModifier> modifiers, QFlags<QOpenGLShader::ShaderTypeBit> type) : QDragMoveEvent(pos, actions, data, buttons, modifiers, type) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/qt5/QtGui/qevent.h:684:5: note: candidate constructor not viable: no known conversion from 'QFlags<QOpenGLShader::ShaderTypeBit>' to 'QEvent::Type' for 6th argument QDragMoveEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, ^ /usr/local/include/qt5/QtGui/qevent.h:681:20: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 6 were provided class Q_GUI_EXPORT QDragMoveEvent : public QDropEvent ^ /wrkdirs/usr/ports/devel/pyside2/work-py39/.build/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.cpp:205:73: error: no member named 'DragMove' in 'QOpenGLShader' ::QFlags<QOpenGLShader::ShaderTypeBit> cppArg5 = QOpenGLShader::DragMove; ~~~~~~~~~~~~~~~^ 4 errors generated. ninja: build stopped: subcommand failed. *** Error code 1 Stop. make: stopped in /usr/ports/devel/pyside2
Can't reproduce in a local poudriere with up-to-date ports. Do you have any unusual flags -- options unset or so? I assume your Qt version is 5.15.8 (with various pXXX because of the KDE patch collection). Based on your error message here, I looked at /wrkdirs/usr/ports/devel/pyside2/work-py39/.build/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.h locally, which is different source from what your error message shows: public: QDragMoveEventWrapper(const QPoint & pos, QFlags<Qt::DropAction> actions, con st QMimeData * data, QFlags<Qt::MouseButton> buttons, QFlags<Qt::KeyboardModifier > modifiers, QEvent::Type type = DragMove); ~QDragMoveEventWrapper(); Now, this is a generated file (as part of the build) so where your differently-generated source comes from is a bit of a mystery to me.
My Python is python39-3.9.16_2, QT is qt5-core-5.15.8p157_1. Pyside port options are to disable WEBENGINE. My /usr/local/etc/poudriere.d/make.conf adds to DEFAULT_VERSIONS llvm=16 java=19 ssl=libressl Anything else I can help with?
This might be relevant but it doesn't fill me with joy: https://forum.qt.io/topic/144731/pyside2-missing-qopenglshader/2
Fixed by https://github.com/OpenMandrivaAssociation/qt5-qtbase/blob/master/qtbase-5.15.9-work-around-pyside2-brokenness.patch
I tried the Open Mandriva patch but it seems to be tackling a different problem. In particular it doesn't mention DragMove which is mentioned in the error message. When implemented I get the same error message. It looks like this problem is OpenGL related. Of course once FreeCAD has migrated to QT6 and PySide6 hopefully this will all go away for me. But that doesn't seem to be coming in the short term and there is other software which depends on pyside2.
I just got bit by this on -CURRENT whilst testing changes elsewhere. According to the rest of OpenMandriva's commit adding their patch https://github.com/OpenMandrivaAssociation/qt5-qtbase/commit/20f97a4bfb95658bc35c3292ac11e52c335cc1e9 , this is caused by clang 16 (and later) exposing buggy/broken behaviour in pyside2 generated code. (In reply to mhambley from comment #5) See https://github.com/OpenMandrivaAssociation/qt5-qtbase/blob/master/qtbase-5.15.9-work-around-pyside2-brokenness.patch#L73
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=1c4bdeedd071d370e693f36fb18b0735a1734f1a commit 1c4bdeedd071d370e693f36fb18b0735a1734f1a Author: Jason E. Hale <jhale@FreeBSD.org> AuthorDate: 2024-11-11 08:51:11 +0000 Commit: Jason E. Hale <jhale@FreeBSD.org> CommitDate: 2024-11-12 05:31:34 +0000 PySide2: Add workaround for devel/shiboken2 issues with LLVM >= 16 Shiboken2 itself builds fine, but the code it generates for devel/pyside2 is broken. In file included from /wrkdirs/usr/ports/devel/pyside2/work-py311/.build/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.cpp:63: /wrkdirs/usr/ports/devel/pyside2/work-py311/.build/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.h:55:220: error: no member named 'DragMove' in 'QOpenGLShader'; did you mean simply 'DragMove'? PR: 270715, 282433 Obtained from: OpenMandriva MFH: 2024Q4 x11-toolkits/qt5-gui/Makefile | 1 + .../qt5-gui/files/patch-src_gui_configure.json | 8 +-- .../files/patch-src_gui_kernel_qevent.h (new) | 76 ++++++++++++++++++++++ ...t_input_evdevkeyboard_qevdevkeyboardhandler.cpp | 6 +- ...support_input_evdevtouch_qevdevtouchhandler.cpp | 8 +-- x11-toolkits/qt5-widgets/Makefile | 1 + ...idgets_graphicsview_qgraphicssceneevent.h (new) | 56 ++++++++++++++++ 7 files changed, 145 insertions(+), 11 deletions(-)
A commit in branch 2024Q4 references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=8fb94b4b4f0221def7b63600400f47609703c07b commit 8fb94b4b4f0221def7b63600400f47609703c07b Author: Jason E. Hale <jhale@FreeBSD.org> AuthorDate: 2024-11-11 08:51:11 +0000 Commit: Jason E. Hale <jhale@FreeBSD.org> CommitDate: 2024-11-12 05:32:22 +0000 PySide2: Add workaround for devel/shiboken2 issues with LLVM >= 16 Shiboken2 itself builds fine, but the code it generates for devel/pyside2 is broken. In file included from /wrkdirs/usr/ports/devel/pyside2/work-py311/.build/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.cpp:63: /wrkdirs/usr/ports/devel/pyside2/work-py311/.build/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.h:55:220: error: no member named 'DragMove' in 'QOpenGLShader'; did you mean simply 'DragMove'? PR: 270715, 282433 Obtained from: OpenMandriva MFH: 2024Q4 (cherry picked from commit 1c4bdeedd071d370e693f36fb18b0735a1734f1a) x11-toolkits/qt5-gui/Makefile | 1 + .../qt5-gui/files/patch-src_gui_configure.json | 8 +-- .../files/patch-src_gui_kernel_qevent.h (new) | 76 ++++++++++++++++++++++ ...t_input_evdevkeyboard_qevdevkeyboardhandler.cpp | 6 +- ...support_input_evdevtouch_qevdevtouchhandler.cpp | 8 +-- x11-toolkits/qt5-widgets/Makefile | 1 + ...idgets_graphicsview_qgraphicssceneevent.h (new) | 56 ++++++++++++++++ 7 files changed, 145 insertions(+), 11 deletions(-)
Sorry this took so long. This PR wasn't on my radar, but the issue popped up again in bug#282433.