Qt6 build fail
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
Re: Qt6 build fail
@Blacklight How did you get the Pyside code to your machine? Did you by any chance installed it via homebrew?
The current Pyside formulae in homebrew-core forces to use the Py_Limited_API, which then propagates throughout the system -> see line
https://github.com/Homebrew/homebrew-co ... ide.rb#L74 in the formulae.
The current Pyside formulae in homebrew-core forces to use the Py_Limited_API, which then propagates throughout the system -> see line
https://github.com/Homebrew/homebrew-co ... ide.rb#L74 in the formulae.
Re: Qt6 build fail
Exactly! That's why I called this option a PITA. The easiest is option 4. at the moment.it will regenerate the configuration, replacing my edits.
- Blacklight
- Posts: 41
- Joined: Sat Feb 25, 2023 12:10 pm
- Location: India
- Contact:
Re: Qt6 build fail
I used OpenSUSE Package Management. Looks like it is now the default for all package managers, not just Homebrew.doia wrote: ↑Thu May 04, 2023 10:28 am @Blacklight How did you get the Pyside code to your machine? Did you by any chance installed it via homebrew?
The current Pyside formulae in homebrew-core forces to use the Py_Limited_API, which then propagates throughout the system -> see line
https://github.com/Homebrew/homebrew-co ... ide.rb#L74 in the formulae.
I went with Option 3 anyways just to do it the hard way. Now it passed Application.cpp, and has a different error.
Code: Select all
[ 13%] Building CXX object src/Gui/CMakeFiles/FreeCADGui.dir/DlgMacroExecuteImp.cpp.o
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp: In member function ‘void Gui::Dialog::DlgMacroExecuteImp::onToolbarButtonClicked()’:
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:621:38: error: no matching function for call to ‘QMetaObject::invokeMethod(Gui::Dialog::DlgCustomToolbars*&, const char [26], Qt::ConnectionType, QGenericReturnArgument, QMetaMethodArgument)’
621 | QMetaObject::invokeMethod(setupToolbarPage, "on_workbenchBox_activated",
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
622 | Qt::DirectConnection,
| ~~~~~~~~~~~~~~~~~~~~~
623 | QGenericReturnArgument(),
| ~~~~~~~~~~~~~~~~~~~~~~~~~
624 | Q_ARG(int, globalIdx));
| ~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/qt6/QtGui/qwindowdefs.h:8,
from /usr/include/qt6/QtWidgets/qwidget.h:8,
from /usr/include/qt6/QtWidgets/qframe.h:8,
from /usr/include/qt6/QtWidgets/qlineedit.h:8,
from /usr/include/qt6/QtWidgets/qinputdialog.h:9,
from /usr/include/qt6/QtWidgets/QInputDialog:1,
from /home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:25:
/usr/include/qt6/QtCore/qobjectdefs.h:363:5: note: candidate: ‘template<class ... Args> static QtPrivate::Invoke::IfNotOldStyleArgs<bool, Args ...> QMetaObject::invokeMethod(QObject*, const char*, Qt::ConnectionType, QMetaMethodReturnArgument, Args&& ...)’
363 | invokeMethod(QObject *obj, const char *member, Qt::ConnectionType c,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:363:5: note: template argument deduction/substitution failed:
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:623:17: note: cannot convert ‘QGenericReturnArgument(0, 0)’ (type ‘QGenericReturnArgument’) to type ‘QMetaMethodReturnArgument’
623 | QGenericReturnArgument(),
| ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:377:5: note: candidate: ‘template<class ... Args> static QtPrivate::Invoke::IfNotOldStyleArgs<bool, Args ...> QMetaObject::invokeMethod(QObject*, const char*, Qt::ConnectionType, Args&& ...)’
377 | invokeMethod(QObject *obj, const char *member, Qt::ConnectionType c, Args &&... arguments)
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:377:5: note: template argument deduction/substitution failed:
In file included from /usr/include/qt6/QtCore/qglobal.h:13,
from /usr/include/qt6/QtGui/qtguiglobal.h:7,
from /usr/include/qt6/QtWidgets/qtwidgetsglobal.h:7,
from /usr/include/qt6/QtWidgets/qinputdialog.h:7:
/usr/include/c++/13/type_traits: In substitution of ‘template<bool _Cond, class _Tp> using std::enable_if_t = typename std::enable_if::type [with bool _Cond = false; _Tp = bool]’:
/usr/include/qt6/QtCore/qobjectdefs.h:151:47: required by substitution of ‘template<class T, class ... Args> using QtPrivate::Invoke::IfNotOldStyleArgs = std::enable_if_t<(! std::disjunction<std::is_base_of<QGenericArgument, Args>...>::value), T> [with T = bool; Args = {QGenericReturnArgument, QMetaMethodArgument}]’
/usr/include/qt6/QtCore/qobjectdefs.h:377:5: required by substitution of ‘template<class ... Args> static QtPrivate::Invoke::IfNotOldStyleArgs<bool, Args ...> QMetaObject::invokeMethod(QObject*, const char*, Qt::ConnectionType, Args&& ...) [with Args = {QGenericReturnArgument, QMetaMethodArgument}]’
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:621:38: required from here
/usr/include/c++/13/type_traits:2610:11: error: no type named ‘type’ in ‘struct std::enable_if<false, bool>’
2610 | using enable_if_t = typename enable_if<_Cond, _Tp>::type;
| ^~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:389:5: note: candidate: ‘template<class ... Args> static QtPrivate::Invoke::IfNotOldStyleArgs<bool, Args ...> QMetaObject::invokeMethod(QObject*, const char*, QMetaMethodReturnArgument, Args&& ...)’
389 | invokeMethod(QObject *obj, const char *member, QMetaMethodReturnArgument r,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:389:5: note: template argument deduction/substitution failed:
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:622:21: note: cannot convert ‘Qt::DirectConnection’ (type ‘Qt::ConnectionType’) to type ‘QMetaMethodReturnArgument’
622 | Qt::DirectConnection,
| ~~~~^~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:401:5: note: candidate: ‘template<class ... Args> static QtPrivate::Invoke::IfNotOldStyleArgs<bool, Args ...> QMetaObject::invokeMethod(QObject*, const char*, Args&& ...)’
401 | invokeMethod(QObject *obj, const char *member, Args &&... arguments)
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:401:5: note: template argument deduction/substitution failed:
/usr/include/qt6/QtCore/qobjectdefs.h:419:5: note: candidate: ‘template<class Func> static typename std::enable_if<((QtPrivate::FunctionPointer<Func>::IsPointerToMemberFunction && (! std::is_convertible<Func, const char*>::value)) && (QtPrivate::FunctionPointer<Func>::ArgumentCount == 0)), bool>::type QMetaObject::invokeMethod(typename QtPrivate::FunctionPointer<Func>::Object*, Func, Qt::ConnectionType, typename QtPrivate::FunctionPointer<Func>::ReturnType*)’
419 | invokeMethod(typename QtPrivate::FunctionPointer<Func>::Object *object,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:419:5: note: template argument deduction/substitution failed:
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:621:38: note: candidate expects 4 arguments, 5 provided
621 | QMetaObject::invokeMethod(setupToolbarPage, "on_workbenchBox_activated",
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
622 | Qt::DirectConnection,
| ~~~~~~~~~~~~~~~~~~~~~
623 | QGenericReturnArgument(),
| ~~~~~~~~~~~~~~~~~~~~~~~~~
624 | Q_ARG(int, globalIdx));
| ~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:431:5: note: candidate: ‘template<class Func> static typename std::enable_if<((QtPrivate::FunctionPointer<Func>::IsPointerToMemberFunction && (! std::is_convertible<Func, const char*>::value)) && (QtPrivate::FunctionPointer<Func>::ArgumentCount == 0)), bool>::type QMetaObject::invokeMethod(typename QtPrivate::FunctionPointer<Func>::Object*, Func, typename QtPrivate::FunctionPointer<Func>::ReturnType*)’
431 | invokeMethod(typename QtPrivate::FunctionPointer<Func>::Object *object,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:431:5: note: template argument deduction/substitution failed:
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:621:38: note: candidate expects 3 arguments, 5 provided
621 | QMetaObject::invokeMethod(setupToolbarPage, "on_workbenchBox_activated",
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
622 | Qt::DirectConnection,
| ~~~~~~~~~~~~~~~~~~~~~
623 | QGenericReturnArgument(),
| ~~~~~~~~~~~~~~~~~~~~~~~~~
624 | Q_ARG(int, globalIdx));
| ~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:443:5: note: candidate: ‘template<class Func> static typename std::enable_if<(((! QtPrivate::FunctionPointer<Func>::IsPointerToMemberFunction) && (! std::is_convertible<Func, const char*>::value)) && (QtPrivate::FunctionPointer<Func>::ArgumentCount == 0)), bool>::type QMetaObject::invokeMethod(QObject*, Func, Qt::ConnectionType, typename QtPrivate::FunctionPointer<Func>::ReturnType*)’
443 | invokeMethod(QObject *context, Func function,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:443:5: note: template argument deduction/substitution failed:
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:621:38: note: candidate expects 4 arguments, 5 provided
621 | QMetaObject::invokeMethod(setupToolbarPage, "on_workbenchBox_activated",
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
622 | Qt::DirectConnection,
| ~~~~~~~~~~~~~~~~~~~~~
623 | QGenericReturnArgument(),
| ~~~~~~~~~~~~~~~~~~~~~~~~~
624 | Q_ARG(int, globalIdx));
| ~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:454:5: note: candidate: ‘template<class Func> static typename std::enable_if<(((! QtPrivate::FunctionPointer<Func>::IsPointerToMemberFunction) && (! std::is_convertible<Func, const char*>::value)) && (QtPrivate::FunctionPointer<Func>::ArgumentCount == 0)), bool>::type QMetaObject::invokeMethod(QObject*, Func, typename QtPrivate::FunctionPointer<Func>::ReturnType*)’
454 | invokeMethod(QObject *context, Func function,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:454:5: note: template argument deduction/substitution failed:
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:621:38: note: candidate expects 3 arguments, 5 provided
621 | QMetaObject::invokeMethod(setupToolbarPage, "on_workbenchBox_activated",
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
622 | Qt::DirectConnection,
| ~~~~~~~~~~~~~~~~~~~~~
623 | QGenericReturnArgument(),
| ~~~~~~~~~~~~~~~~~~~~~~~~~
624 | Q_ARG(int, globalIdx));
| ~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:465:5: note: candidate: ‘template<class Func> static typename std::enable_if<(((! QtPrivate::FunctionPointer<Func>::IsPointerToMemberFunction) && (QtPrivate::FunctionPointer<Func>::ArgumentCount == -1)) && (! std::is_convertible<Func, const char*>::value)), bool>::type QMetaObject::invokeMethod(QObject*, Func, Qt::ConnectionType, decltype (function())*)’
465 | invokeMethod(QObject *context, Func function,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:465:5: note: template argument deduction/substitution failed:
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:621:38: note: candidate expects 4 arguments, 5 provided
621 | QMetaObject::invokeMethod(setupToolbarPage, "on_workbenchBox_activated",
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
622 | Qt::DirectConnection,
| ~~~~~~~~~~~~~~~~~~~~~
623 | QGenericReturnArgument(),
| ~~~~~~~~~~~~~~~~~~~~~~~~~
624 | Q_ARG(int, globalIdx));
| ~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:478:5: note: candidate: ‘template<class Func> static typename std::enable_if<(((! QtPrivate::FunctionPointer<Func>::IsPointerToMemberFunction) && (QtPrivate::FunctionPointer<Func>::ArgumentCount == -1)) && (! std::is_convertible<Func, const char*>::value)), bool>::type QMetaObject::invokeMethod(QObject*, Func, decltype (function())*)’
478 | invokeMethod(QObject *context, Func function, decltype(function()) *ret)
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:478:5: note: template argument deduction/substitution failed:
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:621:38: note: candidate expects 3 arguments, 5 provided
621 | QMetaObject::invokeMethod(setupToolbarPage, "on_workbenchBox_activated",
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
622 | Qt::DirectConnection,
| ~~~~~~~~~~~~~~~~~~~~~
623 | QGenericReturnArgument(),
| ~~~~~~~~~~~~~~~~~~~~~~~~~
624 | Q_ARG(int, globalIdx));
| ~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:292:17: note: candidate: ‘static bool QMetaObject::invokeMethod(QObject*, const char*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument)’
292 | static bool invokeMethod(QObject *obj, const char *member,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:295:47: note: no known conversion for argument 5 from ‘QMetaMethodArgument’ to ‘QGenericArgument’
295 | QGenericArgument val0 = QGenericArgument(nullptr),
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:306:24: note: candidate: ‘static bool QMetaObject::invokeMethod(QObject*, const char*, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument)’
306 | static inline bool invokeMethod(QObject *obj, const char *member,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:307:53: note: no known conversion for argument 3 from ‘Qt::ConnectionType’ to ‘QGenericReturnArgument’
307 | QGenericReturnArgument ret,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~
/usr/include/qt6/QtCore/qobjectdefs.h:323:24: note: candidate: ‘static bool QMetaObject::invokeMethod(QObject*, const char*, Qt::ConnectionType, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument)’
323 | static inline bool invokeMethod(QObject *obj, const char *member,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:326:47: note: no known conversion for argument 5 from ‘QMetaMethodArgument’ to ‘QGenericArgument’
326 | QGenericArgument val1 = QGenericArgument(),
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:340:24: note: candidate: ‘static bool QMetaObject::invokeMethod(QObject*, const char*, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument)’
340 | static inline bool invokeMethod(QObject *obj, const char *member,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:341:47: note: no known conversion for argument 3 from ‘Qt::ConnectionType’ to ‘QGenericArgument’
341 | QGenericArgument val0,
| ~~~~~~~~~~~~~~~~~^~~~
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:657:38: error: no matching function for call to ‘QMetaObject::invokeMethod(Gui::Dialog::DlgCustomToolbars*&, const char [25], Qt::ConnectionType, QGenericReturnArgument, QMetaMethodArgument)’
657 | QMetaObject::invokeMethod(setupToolbarPage, "on_categoryBox_activated",
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
658 | Qt::DirectConnection,
| ~~~~~~~~~~~~~~~~~~~~~
659 | QGenericReturnArgument(),
| ~~~~~~~~~~~~~~~~~~~~~~~~~
660 | Q_ARG(int, macrosIdx));
| ~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:363:5: note: candidate: ‘template<class ... Args> static QtPrivate::Invoke::IfNotOldStyleArgs<bool, Args ...> QMetaObject::invokeMethod(QObject*, const char*, Qt::ConnectionType, QMetaMethodReturnArgument, Args&& ...)’
363 | invokeMethod(QObject *obj, const char *member, Qt::ConnectionType c,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:363:5: note: template argument deduction/substitution failed:
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:659:17: note: cannot convert ‘QGenericReturnArgument(0, 0)’ (type ‘QGenericReturnArgument’) to type ‘QMetaMethodReturnArgument’
659 | QGenericReturnArgument(),
| ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:377:5: note: candidate: ‘template<class ... Args> static QtPrivate::Invoke::IfNotOldStyleArgs<bool, Args ...> QMetaObject::invokeMethod(QObject*, const char*, Qt::ConnectionType, Args&& ...)’
377 | invokeMethod(QObject *obj, const char *member, Qt::ConnectionType c, Args &&... arguments)
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:377:5: note: template argument deduction/substitution failed:
/usr/include/qt6/QtCore/qobjectdefs.h:389:5: note: candidate: ‘template<class ... Args> static QtPrivate::Invoke::IfNotOldStyleArgs<bool, Args ...> QMetaObject::invokeMethod(QObject*, const char*, QMetaMethodReturnArgument, Args&& ...)’
389 | invokeMethod(QObject *obj, const char *member, QMetaMethodReturnArgument r,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:389:5: note: template argument deduction/substitution failed:
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:658:21: note: cannot convert ‘Qt::DirectConnection’ (type ‘Qt::ConnectionType’) to type ‘QMetaMethodReturnArgument’
658 | Qt::DirectConnection,
| ~~~~^~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:401:5: note: candidate: ‘template<class ... Args> static QtPrivate::Invoke::IfNotOldStyleArgs<bool, Args ...> QMetaObject::invokeMethod(QObject*, const char*, Args&& ...)’
401 | invokeMethod(QObject *obj, const char *member, Args &&... arguments)
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:401:5: note: template argument deduction/substitution failed:
/usr/include/qt6/QtCore/qobjectdefs.h:419:5: note: candidate: ‘template<class Func> static typename std::enable_if<((QtPrivate::FunctionPointer<Func>::IsPointerToMemberFunction && (! std::is_convertible<Func, const char*>::value)) && (QtPrivate::FunctionPointer<Func>::ArgumentCount == 0)), bool>::type QMetaObject::invokeMethod(typename QtPrivate::FunctionPointer<Func>::Object*, Func, Qt::ConnectionType, typename QtPrivate::FunctionPointer<Func>::ReturnType*)’
419 | invokeMethod(typename QtPrivate::FunctionPointer<Func>::Object *object,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:419:5: note: template argument deduction/substitution failed:
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:657:38: note: candidate expects 4 arguments, 5 provided
657 | QMetaObject::invokeMethod(setupToolbarPage, "on_categoryBox_activated",
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
658 | Qt::DirectConnection,
| ~~~~~~~~~~~~~~~~~~~~~
659 | QGenericReturnArgument(),
| ~~~~~~~~~~~~~~~~~~~~~~~~~
660 | Q_ARG(int, macrosIdx));
| ~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:431:5: note: candidate: ‘template<class Func> static typename std::enable_if<((QtPrivate::FunctionPointer<Func>::IsPointerToMemberFunction && (! std::is_convertible<Func, const char*>::value)) && (QtPrivate::FunctionPointer<Func>::ArgumentCount == 0)), bool>::type QMetaObject::invokeMethod(typename QtPrivate::FunctionPointer<Func>::Object*, Func, typename QtPrivate::FunctionPointer<Func>::ReturnType*)’
431 | invokeMethod(typename QtPrivate::FunctionPointer<Func>::Object *object,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:431:5: note: template argument deduction/substitution failed:
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:657:38: note: candidate expects 3 arguments, 5 provided
657 | QMetaObject::invokeMethod(setupToolbarPage, "on_categoryBox_activated",
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
658 | Qt::DirectConnection,
| ~~~~~~~~~~~~~~~~~~~~~
659 | QGenericReturnArgument(),
| ~~~~~~~~~~~~~~~~~~~~~~~~~
660 | Q_ARG(int, macrosIdx));
| ~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:443:5: note: candidate: ‘template<class Func> static typename std::enable_if<(((! QtPrivate::FunctionPointer<Func>::IsPointerToMemberFunction) && (! std::is_convertible<Func, const char*>::value)) && (QtPrivate::FunctionPointer<Func>::ArgumentCount == 0)), bool>::type QMetaObject::invokeMethod(QObject*, Func, Qt::ConnectionType, typename QtPrivate::FunctionPointer<Func>::ReturnType*)’
443 | invokeMethod(QObject *context, Func function,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:443:5: note: template argument deduction/substitution failed:
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:657:38: note: candidate expects 4 arguments, 5 provided
657 | QMetaObject::invokeMethod(setupToolbarPage, "on_categoryBox_activated",
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
658 | Qt::DirectConnection,
| ~~~~~~~~~~~~~~~~~~~~~
659 | QGenericReturnArgument(),
| ~~~~~~~~~~~~~~~~~~~~~~~~~
660 | Q_ARG(int, macrosIdx));
| ~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:454:5: note: candidate: ‘template<class Func> static typename std::enable_if<(((! QtPrivate::FunctionPointer<Func>::IsPointerToMemberFunction) && (! std::is_convertible<Func, const char*>::value)) && (QtPrivate::FunctionPointer<Func>::ArgumentCount == 0)), bool>::type QMetaObject::invokeMethod(QObject*, Func, typename QtPrivate::FunctionPointer<Func>::ReturnType*)’
454 | invokeMethod(QObject *context, Func function,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:454:5: note: template argument deduction/substitution failed:
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:657:38: note: candidate expects 3 arguments, 5 provided
657 | QMetaObject::invokeMethod(setupToolbarPage, "on_categoryBox_activated",
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
658 | Qt::DirectConnection,
| ~~~~~~~~~~~~~~~~~~~~~
659 | QGenericReturnArgument(),
| ~~~~~~~~~~~~~~~~~~~~~~~~~
660 | Q_ARG(int, macrosIdx));
| ~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:465:5: note: candidate: ‘template<class Func> static typename std::enable_if<(((! QtPrivate::FunctionPointer<Func>::IsPointerToMemberFunction) && (QtPrivate::FunctionPointer<Func>::ArgumentCount == -1)) && (! std::is_convertible<Func, const char*>::value)), bool>::type QMetaObject::invokeMethod(QObject*, Func, Qt::ConnectionType, decltype (function())*)’
465 | invokeMethod(QObject *context, Func function,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:465:5: note: template argument deduction/substitution failed:
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:657:38: note: candidate expects 4 arguments, 5 provided
657 | QMetaObject::invokeMethod(setupToolbarPage, "on_categoryBox_activated",
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
658 | Qt::DirectConnection,
| ~~~~~~~~~~~~~~~~~~~~~
659 | QGenericReturnArgument(),
| ~~~~~~~~~~~~~~~~~~~~~~~~~
660 | Q_ARG(int, macrosIdx));
| ~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:478:5: note: candidate: ‘template<class Func> static typename std::enable_if<(((! QtPrivate::FunctionPointer<Func>::IsPointerToMemberFunction) && (QtPrivate::FunctionPointer<Func>::ArgumentCount == -1)) && (! std::is_convertible<Func, const char*>::value)), bool>::type QMetaObject::invokeMethod(QObject*, Func, decltype (function())*)’
478 | invokeMethod(QObject *context, Func function, decltype(function()) *ret)
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:478:5: note: template argument deduction/substitution failed:
/home/jyothish/Projects/FreeCAD-fork/src/Gui/DlgMacroExecuteImp.cpp:657:38: note: candidate expects 3 arguments, 5 provided
657 | QMetaObject::invokeMethod(setupToolbarPage, "on_categoryBox_activated",
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
658 | Qt::DirectConnection,
| ~~~~~~~~~~~~~~~~~~~~~
659 | QGenericReturnArgument(),
| ~~~~~~~~~~~~~~~~~~~~~~~~~
660 | Q_ARG(int, macrosIdx));
| ~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:292:17: note: candidate: ‘static bool QMetaObject::invokeMethod(QObject*, const char*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument)’
292 | static bool invokeMethod(QObject *obj, const char *member,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:295:47: note: no known conversion for argument 5 from ‘QMetaMethodArgument’ to ‘QGenericArgument’
295 | QGenericArgument val0 = QGenericArgument(nullptr),
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:306:24: note: candidate: ‘static bool QMetaObject::invokeMethod(QObject*, const char*, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument)’
306 | static inline bool invokeMethod(QObject *obj, const char *member,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:307:53: note: no known conversion for argument 3 from ‘Qt::ConnectionType’ to ‘QGenericReturnArgument’
307 | QGenericReturnArgument ret,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~
/usr/include/qt6/QtCore/qobjectdefs.h:323:24: note: candidate: ‘static bool QMetaObject::invokeMethod(QObject*, const char*, Qt::ConnectionType, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument)’
323 | static inline bool invokeMethod(QObject *obj, const char *member,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:326:47: note: no known conversion for argument 5 from ‘QMetaMethodArgument’ to ‘QGenericArgument’
326 | QGenericArgument val1 = QGenericArgument(),
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:340:24: note: candidate: ‘static bool QMetaObject::invokeMethod(QObject*, const char*, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument)’
340 | static inline bool invokeMethod(QObject *obj, const char *member,
| ^~~~~~~~~~~~
/usr/include/qt6/QtCore/qobjectdefs.h:341:47: note: no known conversion for argument 3 from ‘Qt::ConnectionType’ to ‘QGenericArgument’
341 | QGenericArgument val0,
| ~~~~~~~~~~~~~~~~~^~~~
gmake[2]: *** [src/Gui/CMakeFiles/FreeCADGui.dir/build.make:1490: src/Gui/CMakeFiles/FreeCADGui.dir/DlgMacroExecuteImp.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:6804: src/Gui/CMakeFiles/FreeCADGui.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2
My primary goal is to learn this software and help improve the workbenches, but I also like to stay updated, so that's why I'm building for Qt6. Looks like maybe I should wait..
Keep calm, and be nice to everyone!
- Blacklight
- Posts: 41
- Joined: Sat Feb 25, 2023 12:10 pm
- Location: India
- Contact:
Re: Qt6 build fail
Failed at the same place in Option 4 too. I guess learning some Qt6 stuff won't be much of a problem, since I'd like to learn PySide myself, just wasn't in my current schedule.
Keep calm, and be nice to everyone!
Re: Qt6 build fail
I don't know why it fails -- works fine here. Maybe you need to include QMetaObject in DlgMacroExecuteImp.cpp.
- Blacklight
- Posts: 41
- Joined: Sat Feb 25, 2023 12:10 pm
- Location: India
- Contact:
Re: Qt6 build fail
QT 6.5.1
Python 3.11.3
I am also seeing
Python 3.11.3
I am also seeing
Code: Select all
/Users/bernie/CLionProjects/FreeCAD/src/Gui/MainWindow.cpp:1492:13: error: no matching function for call to 'invokeMethod'
QMetaObject::invokeMethod(d->activityTimer, "start", Qt::QueuedConnection,
^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/QtCore.framework/Headers/qobjectdefs.h:292:17: note: candidate function not viable: no known conversion from 'QMetaMethodArgument' to 'QGenericArgument' for 5th argument
static bool invokeMethod(QObject *obj, const char *member,
^
/usr/local/lib/QtCore.framework/Headers/qobjectdefs.h:323:24: note: candidate function not viable: no known conversion from 'QMetaMethodArgument' to 'QGenericArgument' for 5th argument
static inline bool invokeMethod(QObject *obj, const char *member,
^
/usr/local/lib/QtCore.framework/Headers/qobjectdefs.h:363:5: note: candidate function template not viable: no known conversion from 'QGenericReturnArgument' to 'QMetaMethodReturnArgument' for 4th argument
invokeMethod(QObject *obj, const char *member, Qt::ConnectionType c,
^
/usr/local/lib/QtCore.framework/Headers/qobjectdefs.h:306:24: note: candidate function not viable: no known conversion from 'Qt::ConnectionType' to 'QGenericReturnArgument' for 3rd argument
static inline bool invokeMethod(QObject *obj, const char *member,
^
/usr/local/lib/QtCore.framework/Headers/qobjectdefs.h:340:24: note: candidate function not viable: no known conversion from 'Qt::ConnectionType' to 'QGenericArgument' for 3rd argument
static inline bool invokeMethod(QObject *obj, const char *member,
^
/usr/local/lib/QtCore.framework/Headers/qobjectdefs.h:377:5: note: candidate template ignored: requirement '!disjunction<std::is_base_of<QGenericArgument, QGenericReturnArgument>, std::is_base_of<QGenericArgument, QMetaMethodArgument>>::value' was not satisfied [with Args = <QGenericReturnArgument, QMetaMethodArgument>]
invokeMethod(QObject *obj, const char *member, Qt::ConnectionType c, Args &&... arguments)
^
/usr/local/lib/QtCore.framework/Headers/qobjectdefs.h:389:5: note: candidate function template not viable: no known conversion from 'Qt::ConnectionType' to 'QMetaMethodReturnArgument' for 3rd argument
invokeMethod(QObject *obj, const char *member, QMetaMethodReturnArgument r,
^
/usr/local/lib/QtCore.framework/Headers/qobjectdefs.h:419:5: note: candidate function template not viable: requires at most 4 arguments, but 5 were provided
invokeMethod(typename QtPrivate::FunctionPointer<Func>::Object *object,
^
/usr/local/lib/QtCore.framework/Headers/qobjectdefs.h:443:5: note: candidate function template not viable: requires at most 4 arguments, but 5 were provided
invokeMethod(QObject *context, Func function,
^
/usr/local/lib/QtCore.framework/Headers/qobjectdefs.h:465:5: note: candidate function template not viable: requires at most 4 arguments, but 5 were provided
invokeMethod(QObject *context, Func function,
^
/usr/local/lib/QtCore.framework/Headers/qobjectdefs.h:401:5: note: candidate template ignored: requirement '!disjunction<std::is_base_of<QGenericArgument, Qt::ConnectionType>, std::is_base_of<QGenericArgument, QGenericReturnArgument>, std::is_base_of<QGenericArgument, QMetaMethodArgument>>::value' was not satisfied [with Args = <Qt::ConnectionType, QGenericReturnArgument, QMetaMethodArgument>]
invokeMethod(QObject *obj, const char *member, Args &&... arguments)
^
/usr/local/lib/QtCore.framework/Headers/qobjectdefs.h:431:5: note: candidate function template not viable: requires 3 arguments, but 5 were provided
invokeMethod(typename QtPrivate::FunctionPointer<Func>::Object *object,
^
/usr/local/lib/QtCore.framework/Headers/qobjectdefs.h:454:5: note: candidate function template not viable: requires 3 arguments, but 5 were provided
invokeMethod(QObject *context, Func function,
^
/usr/local/lib/QtCore.framework/Headers/qobjectdefs.h:478:5: note: candidate function template not viable: requires 3 arguments, but 5 were provided
invokeMethod(QObject *context, Func function, decltype(function()) *ret)
^
Re: Qt6 build fail
Out of desperation I blindly tried a few things I removed the
Maybe I broke something ... but it did compile.
parameter.QGenericReturnArgument(),
Maybe I broke something ... but it did compile.
Re: Qt6 build fail
Probably as the post is old poking wmayer will be a good move.
@wmayer What do you think? (Sorry for poking )
Kind Regards
Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.
Blog: https://okkmkblog.wordpress.com/
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.
Blog: https://okkmkblog.wordpress.com/
Re: Qt6 build fail
Yesterday I rebuilt FreeCAD on Debian Bullseye which has Qt 6.4 and there I didn't get this failure (but somewhere else). So, if dropping that QGenericReturnArgument() argument still works for Qt versions older than 6.5 we can change it.QT 6.5.1
Python 3.11.3
I am also seeing
PS: I am still busy going through the git history of the last couple of weeks. So, it will take me one day or two to look at this issue.