pyqt6DBusHelper: No insertMulti in Qt6 QMultiHash
Ben Greiner
code-pyqt at bnavigator.de
Sun Feb 21 15:34:51 GMT 2021
Hello,
I am taking the first steps in order to get a python-PyQt6 rpm package
into the openSUSE Tumbleweed distribution. Currently, I get this error
while trying to build:
[ 12s] [269/385] cumulate libQt6Core6-6.0.0-2.3
...
[ 12s] [280/385] cumulate libQt6DBus6-6.0.0-2.3
...
[ 12s] [288/385] cumulate dbus-1-1.12.20-3.2
...
[ 12s] [294/385] cumulate dbus-1-devel-1.12.20-3.2
...
[ 29s] + sip-build-3.6 --verbose --api-dir /usr/share/qt6/qsci/api/python_3.6/ --no-make --qmake=/usr/lib64/qt6/bin/qmake --qmake-setting 'QMAKE_CFLAGS += -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g ' --qmake-setting 'QMAKE_CXXFLAGS += -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g ' --pep484-pyi --confirm-license --qt-shared
[ 30s] Querying qmake about your Qt installation...
[ 30s] /usr/lib64/qt6/bin/qmake -query
[ 30s] This is the GPL version of PyQt 6.0.1 (licensed under the GNU General Public License) for Python 3.6.12 on linux.
...
[ 123s] g++ -c -pipe -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -O2 -std=gnu++1z -fno-exceptions -Wall -Wextra -D_REENTRANT -fPIC -DPy_LIMITED_API=0x03040000 -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_CORE_LIB -I. -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/python3.6m -I/usr/include/qt6 -I/usr/include/qt6/QtCore -I. -I/usr/lib64/qt6/mkspecs/linux-g++ -o moc_helper.o moc_helper.cpp
[ 124s] ../../dbus/dbus.cpp: In function 'dbus_bool_t add_watch(DBusWatch*, void*)':
[ 124s] ../../dbus/dbus.cpp:43:37: warning: 'int dbus_watch_get_fd(DBusWatch*)' is deprecated [-Wdeprecated-declarations]
[ 124s] 43 | int fd = dbus_watch_get_fd(watch);
[ 124s] | ^
[ 124s] In file included from /usr/include/dbus-1.0/dbus/dbus-bus.h:30,
[ 124s] from /usr/include/dbus-1.0/dbus/dbus.h:31,
[ 124s] from /usr/include/dbus-1.0/dbus/dbus-python.h:35,
[ 124s] from ../../dbus/dbus.cpp:27:
[ 124s] /usr/include/dbus-1.0/dbus/dbus-connection.h:481:21: note: declared here
[ 124s] 481 | DBUS_DEPRECATED int dbus_watch_get_fd (DBusWatch *watch);
[ 124s] | ^~~~~~~~~~~~~~~~~
[ 124s] ../../dbus/dbus.cpp:64:19: error: 'pyqt6DBusHelper::Watchers'
{aka 'class QMultiHash<int, pyqt6DBusHelper::Watcher>'} has no member
named 'insertMulti' [ 124s] 64 | hlp->watchers.insertMulti(fd, watcher);
[ 124s] | ^~~~~~~~~~~
[ 124s] ../../dbus/dbus.cpp: In function 'void remove_watch(DBusWatch*, void*)':
[ 124s] ../../dbus/dbus.cpp:76:37: warning: 'int dbus_watch_get_fd(DBusWatch*)' is deprecated [-Wdeprecated-declarations]
[ 124s] 76 | int fd = dbus_watch_get_fd(watch);
[ 124s] | ^
[ 124s] In file included from /usr/include/dbus-1.0/dbus/dbus-bus.h:30,
[ 124s] from /usr/include/dbus-1.0/dbus/dbus.h:31,
[ 124s] from /usr/include/dbus-1.0/dbus/dbus-python.h:35,
[ 124s] from ../../dbus/dbus.cpp:27:
[ 124s] /usr/include/dbus-1.0/dbus/dbus-connection.h:481:21: note: declared here
[ 124s] 481 | DBUS_DEPRECATED int dbus_watch_get_fd (DBusWatch *watch);
[ 124s] | ^~~~~~~~~~~~~~~~~
[ 124s] ../../dbus/dbus.cpp: In function 'void toggle_watch(DBusWatch*, void*)':
[ 124s] ../../dbus/dbus.cpp:108:37: warning: 'int dbus_watch_get_fd(DBusWatch*)' is deprecated [-Wdeprecated-declarations]
[ 124s] 108 | int fd = dbus_watch_get_fd(watch);
[ 124s] | ^
[ 124s] In file included from /usr/include/dbus-1.0/dbus/dbus-bus.h:30,
[ 124s] from /usr/include/dbus-1.0/dbus/dbus.h:31,
[ 124s] from /usr/include/dbus-1.0/dbus/dbus-python.h:35,
[ 124s] from ../../dbus/dbus.cpp:27:
[ 124s] /usr/include/dbus-1.0/dbus/dbus-connection.h:481:21: note: declared here
[ 124s] 481 | DBUS_DEPRECATED int dbus_watch_get_fd (DBusWatch *watch);
[ 124s] | ^~~~~~~~~~~~~~~~~
[ 124s] ../../dbus/dbus.cpp: In function 'PyObject* DBusQtMainLoop(PyObject*, PyObject*, PyObject*)':
[ 124s] ../../dbus/dbus.cpp:356:32: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
[ 124s] 356 | static char *argnames[] = {"set_as_default", 0};
[ 124s] | ^~~~~~~~~~~~~~~~
[ 124s] ../../dbus/dbus.cpp: At global scope:
[ 124s] ../../dbus/dbus.cpp:400:24: warning: cast between incompatible function types from 'PyObject* (*)(PyObject*, PyObject*, PyObject*)' {aka '_object* (*)(_object*, _object*, _object*)'} to 'PyCFunction' {aka '_object* (*)(_object*, _object*)'} [-Wcast-function-type]
[ 124s] 400 | {"DBusQtMainLoop", (PyCFunction)DBusQtMainLoop, METH_VARARGS|METH_KEYWORDS,
[ 124s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 124s] ../../dbus/dbus.cpp: In function 'PyObject* PyInit_dbus_mainloop()':
[ 124s] ../../dbus/dbus.cpp:415:5: warning: missing initializer for member 'PyModuleDef::m_slots' [-Wmissing-field-initializers]
[ 124s] 415 | };
[ 124s] | ^
[ 124s] ../../dbus/dbus.cpp:415:5: warning: missing initializer for member 'PyModuleDef::m_traverse' [-Wmissing-field-initializers]
[ 124s] ../../dbus/dbus.cpp:415:5: warning: missing initializer for member 'PyModuleDef::m_clear' [-Wmissing-field-initializers]
[ 124s] ../../dbus/dbus.cpp:415:5: warning: missing initializer for member 'PyModuleDef::m_free' [-Wmissing-field-initializers]
[ 124s] make[1]: *** [Makefile:316: dbus.o] Error 1
Replacing `.insertMulti` with `.insert` in dbus/dbus.cpp seems to help.
(Don't be distracted by the Python 3.6 message, the same happens on
Python 3.8)
Regards,
Ben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20210221/4f2a1838/attachment.htm>
More information about the PyQt
mailing list