Uploaded image for project: 'Qt for Python'
  1. Qt for Python
  2. PYSIDE-2451

pyside2-5.15.10 fails to build after update - qdragmoveevent_wrapper.cpp

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • Not Evaluated
    • None
    • 5.15.10
    • PySide, Shiboken
    • None
    • Gentoo x86_64 kernel 6.1.46
      llvm/clang 16.0.6
      gcc 12.3.1 20230526
      python 3.11.5
    • Linux/X11

    Description

      Reported under gentoo bug #913096

      After a recent update to system involving a change to python incremental version value (3.11.4 -> 3.11.5), a rebuild of python dependent packages was undertaken. PySide routinely fails citing:

      {{FAILED: PySide2/QtGui/CMakeFiles/QtGui.dir/PySide2/QtGui/qdragmoveevent_wrapper.cpp.o 
      /usr/lib/llvm/16/bin/clang++ -DPYSIDE_QML_SUPPORT=1 -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQtGui_EXPORTS -I/var/tmp/portage/dev-python/pyside2-5.15.10/work/pyside-setup-opensource-src-5.15.10/sources/pyside2/PySide2/QtGui/QtGui -I/var/tmp/portage/dev-python/pyside2-5.15.10/work/pyside-setup-opensource-src-5.15.10/sources/pyside2/PySide2/QtGui -I/var/tmp/portage/dev-python/pyside2-5.15.10/work/pyside-setup-opensource-src-5.15.10/sources/pyside2_build-python3_11/PySide2/QtGui -I/var/tmp/portage/dev-python/pyside2-5.15.10/work/pyside-setup-opensource-src-5.15.10/sources/pyside2/PySide2 -I/var/tmp/portage/dev-python/pyside2-5.15.10/work/pyside-setup-opensource-src-5.15.10/sources/pyside2/libpyside -I/var/tmp/portage/dev-python/pyside2-5.15.10/work/pyside-setup-opensource-src-5.15.10/sources/pyside2_build-python3_11/PySide2/QtCore/PySide2/QtCore -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtGui -isystem /usr/include/shiboken2 -isystem /usr/include/python3.11  -march=bdver1 -O2 -pipe -Wall -fvisibility=hidden -Wno-strict-aliasing -std=gnu++11 -fPIC   -fPIC -fPIC -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 /var/tmp/portage/dev-python/pyside2-5.15.10/work/pyside-setup-opensource-src-5.15.10/sources/pyside2_build-python3_11/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.cpp
      In file included from /var/tmp/portage/dev-python/pyside2-5.15.10/work/pyside-setup-opensource-src-5.15.10/sources/pyside2_build-python3_11/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.cpp:63:
      /var/tmp/portage/dev-python/pyside2-5.15.10/work/pyside-setup-opensource-src-5.15.10/sources/pyside2_build-python3_11/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/include/qt5/QtCore/qcoreevent.h:107:9: note: 'DragMove' declared here
              DragMove = 61,                          // drag moves in widget
              ^
      In file included from /var/tmp/portage/dev-python/pyside2-5.15.10/work/pyside-setup-opensource-src-5.15.10/sources/pyside2_build-python3_11/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.cpp:63:
      /var/tmp/portage/dev-python/pyside2-5.15.10/work/pyside-setup-opensource-src-5.15.10/sources/pyside2_build-python3_11/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/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<ShaderTypeBit> &' for 1st argument
      class QFlags
            ^
      /usr/include/qt5/QtCore/qflags.h:89:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'QEvent::Type' to 'QFlags<ShaderTypeBit> &&' for 1st argument
      /usr/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/include/qt5/QtCore/qflags.h:123:80: note: candidate constructor not viable: no known conversion from 'QEvent::Type' to '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/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/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
                                  ^
      /var/tmp/portage/dev-python/pyside2-5.15.10/work/pyside-setup-opensource-src-5.15.10/sources/pyside2_build-python3_11/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);
                                                                                                                                                                                                                          ^
      /var/tmp/portage/dev-python/pyside2-5.15.10/work/pyside-setup-opensource-src-5.15.10/sources/pyside2_build-python3_11/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.cpp:103: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/include/qt5/QtGui/qevent.h:684:5: note: candidate constructor not viable: no known conversion from 'QFlags<QOpenGLShader::ShaderTypeBit>' to 'Type' for 6th argument
          QDragMoveEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data,
          ^
      /usr/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
                         ^
      /var/tmp/portage/dev-python/pyside2-5.15.10/work/pyside-setup-opensource-src-5.15.10/sources/pyside2_build-python3_11/PySide2/QtGui/PySide2/QtGui/qdragmoveevent_wrapper.cpp:218:73: error: no member named 'DragMove' in 'QOpenGLShader'
              ::QFlags<QOpenGLShader::ShaderTypeBit> cppArg5 = QOpenGLShader::DragMove;
                                                               ~~~~~~~~~~~~~~~^
      4 errors generated.
      }}
      

      PySide build had not produce this error previously. Error is consistent whether built with gcc (version(Gentoo 12.3.1_p20230526 p2) 12.3.1 20230526) or llvm/clang(version clang 16.0.6).

      NOTE:
      A search of Qt Bugs did not reveal any similar bugs.

      A FreeBSD bug report gave a similar problem output. However, suggested fix of patching qtgui/qtwidget header files did not correct situation. However, it appears that this problem was applied to previous version of PySide (v5.15.9).

      Similar reporting was also found in a LinuxQuestions thread. No viable workaround was given or had not been tried.

      A search of Repology for other distributions using pyside 5.15.10 and that might have patches to workaround issue found were unsuccessful.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              crmaurei Cristian Maureira-Fredes
              digifuzzy Scott Furry
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes