Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 841470 - dev-qt/qtwidgets-5.15.3: QXdgDesktopPortalTheme errors like ‘QDBusMessage’ was not declared in this scope
Summary: dev-qt/qtwidgets-5.15.3: QXdgDesktopPortalTheme errors like ‘QDBusMessage’ wa...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-04-28 10:53 UTC by robertgzr
Modified: 2023-03-09 09:25 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
shortened qtwidgets build log (build.log.trimmed,43.34 KB, text/plain)
2022-04-28 10:57 UTC, robertgzr
Details
emerge --info log (emerge_info.log,16.46 KB, text/plain)
2022-04-28 10:58 UTC, robertgzr
Details
Full log output (qtwidgets.log,981.49 KB, text/x-log)
2022-09-30 07:01 UTC, Mazunki Hoksaas
Details
emerge --info for full log (emerge-info.out,16.90 KB, text/plain)
2022-09-30 07:13 UTC, Mazunki Hoksaas
Details

Note You need to log in before you can comment on or make changes to this bug.
Description robertgzr 2022-04-28 10:53:39 UTC
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp: In constructor ‘QXdgDesktopPortalTheme::QXdgDesktopPortalTheme()’:
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp:102:5: error: ‘QDBusMessage’ was not declared in this scope
  102 |     QDBusMessage message = QDBusMessage::createMethodCall(QLatin1String("org.freedesktop.portal.Desktop"),
      |     ^~~~~~~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp:106:5: error: ‘message’ was not declared in this scope
  106 |     message << QLatin1String("org.freedesktop.portal.FileChooser") << QLatin1String("version");
      |     ^~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp:107:5: error: ‘QDBusPendingCall’ was not declared in this scope
  107 |     QDBusPendingCall pendingCall = QDBusConnection::sessionBus().asyncCall(message);
      |     ^~~~~~~~~~~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp:108:5: error: ‘QDBusPendingCallWatcher’ was not declared in this scope
  108 |     QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pendingCall);
      |     ^~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp:108:30: error: ‘watcher’ was not declared in this scope
  108 |     QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pendingCall);
      |                              ^~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp:108:44: error: expected type-specifier before ‘QDBusPendingCallWatcher’
  108 |     QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pendingCall);
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp:109:32: error: ‘QDBusPendingCallWatcher’ is not a class, namespace, or enumeration
  109 |     QObject::connect(watcher, &QDBusPendingCallWatcher::finished, [d] (QDBusPendingCallWatcher *watcher) {
      |                                ^~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp:109:72: error: ‘QDBusPendingCallWatcher’ is not a type
  109 |     QObject::connect(watcher, &QDBusPendingCallWatcher::finished, [d] (QDBusPendingCallWatcher *watcher) {
      |                                                                        ^~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp: In lambda function:
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp:110:9: error: ‘QDBusPendingReply’ was not declared in this scope
  110 |         QDBusPendingReply<QVariant> reply = *watcher;
      |         ^~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp:110:35: error: expected primary-expression before ‘>’ token
  110 |         QDBusPendingReply<QVariant> reply = *watcher;
      |                                   ^
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp:110:37: error: ‘reply’ was not declared in this scope
  110 |         QDBusPendingReply<QVariant> reply = *watcher;
      |                                     ^~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp:114:18: error: request for member ‘deleteLater’ in ‘* watcher’, which is of non-class type ‘int’
  114 |         watcher->deleteLater();
      |                  ^~~~~~~~~~~
make[1]: *** [Makefile:497: .obj/qxdgdesktopportaltheme.o] Error 1
make[1]: *** Waiting for unfinished jobs....
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:60:1: error: ‘QDBusArgument’ does not name a type; did you mean ‘QArgument’?
   60 | QDBusArgument &operator <<(QDBusArgument &arg, const QXdgDesktopPortalFileDialog::FilterCondition &filterCondition)
      | ^~~~~~~~~~~~~
      | QArgument
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:68:7: error: ‘QDBusArgument’ does not name a type; did you mean ‘QArgument’?
   68 | const QDBusArgument &operator >>(const QDBusArgument &arg, QXdgDesktopPortalFileDialog::FilterCondition &filterCondition)
      |       ^~~~~~~~~~~~~
      |       QArgument
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:81:1: error: ‘QDBusArgument’ does not name a type; did you mean ‘QArgument’?
   81 | QDBusArgument &operator <<(QDBusArgument &arg, const QXdgDesktopPortalFileDialog::Filter filter)
      | ^~~~~~~~~~~~~
      | QArgument
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:89:7: error: ‘QDBusArgument’ does not name a type; did you mean ‘QArgument’?
   89 | const QDBusArgument &operator >>(const QDBusArgument &arg, QXdgDesktopPortalFileDialog::Filter &filter)
      |       ^~~~~~~~~~~~~
      |       QArgument
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp: In member function ‘void QXdgDesktopPortalFileDialog::openPortal()’:
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:184:5: error: ‘QDBusMessage’ was not declared in this scope
  184 |     QDBusMessage message = QDBusMessage::createMethodCall(QLatin1String("org.freedesktop.portal.Desktop"),
      |     ^~~~~~~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:207:5: error: ‘qDBusRegisterMetaType’ was not declared in this scope; did you mean ‘qRegisterMetaType’?
  207 |     qDBusRegisterMetaType<FilterCondition>();
      |     ^~~~~~~~~~~~~~~~~~~~~
      |     qRegisterMetaType
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:207:42: error: expected primary-expression before ‘>’ token
  207 |     qDBusRegisterMetaType<FilterCondition>();
      |                                          ^
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:207:44: error: expected primary-expression before ‘)’ token
  207 |     qDBusRegisterMetaType<FilterCondition>();
      |                                            ^
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:208:46: error: expected primary-expression before ‘>’ token
  208 |     qDBusRegisterMetaType<FilterConditionList>();
      |                                              ^
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:208:48: error: expected primary-expression before ‘)’ token
  208 |     qDBusRegisterMetaType<FilterConditionList>();
      |                                                ^
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:209:33: error: expected primary-expression before ‘>’ token
  209 |     qDBusRegisterMetaType<Filter>();
      |                                 ^
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:209:35: error: expected primary-expression before ‘)’ token
  209 |     qDBusRegisterMetaType<Filter>();
      |                                   ^
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:210:37: error: expected primary-expression before ‘>’ token
  210 |     qDBusRegisterMetaType<FilterList>();
      |                                     ^
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:210:39: error: expected primary-expression before ‘)’ token
  210 |     qDBusRegisterMetaType<FilterList>();
      |                                       ^
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:289:5: error: ‘message’ was not declared in this scope
  289 |     message << parentWindowId << d->title << options;
      |     ^~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:291:5: error: ‘QDBusPendingCall’ was not declared in this scope
  291 |     QDBusPendingCall pendingCall = QDBusConnection::sessionBus().asyncCall(message);
      |     ^~~~~~~~~~~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:292:5: error: ‘QDBusPendingCallWatcher’ was not declared in this scope
  292 |     QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pendingCall);
      |     ^~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:292:30: error: ‘watcher’ was not declared in this scope
  292 |     QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pendingCall);
      |                              ^~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:292:44: error: expected type-specifier before ‘QDBusPendingCallWatcher’
  292 |     QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pendingCall);
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:293:23: error: ‘QDBusPendingCallWatcher’ is not a class, namespace, or enumeration
  293 |     connect(watcher, &QDBusPendingCallWatcher::finished, this, [this] (QDBusPendingCallWatcher *watcher) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:293:72: error: ‘QDBusPendingCallWatcher’ is not a type
  293 |     connect(watcher, &QDBusPendingCallWatcher::finished, this, [this] (QDBusPendingCallWatcher *watcher) {
      |                                                                        ^~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp: In lambda function:
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:294:9: error: ‘QDBusPendingReply’ was not declared in this scope
  294 |         QDBusPendingReply<QDBusObjectPath> reply = *watcher;
      |         ^~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:294:27: error: ‘QDBusObjectPath’ was not declared in this scope
  294 |         QDBusPendingReply<QDBusObjectPath> reply = *watcher;
      |                           ^~~~~~~~~~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:294:44: error: ‘reply’ was not declared in this scope
  294 |         QDBusPendingReply<QDBusObjectPath> reply = *watcher;
      |                                            ^~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:298:13: error: ‘QDBusConnection’ has not been declared
  298 |             QDBusConnection::sessionBus().connect(nullptr,
      |             ^~~~~~~~~~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:305:18: error: request for member ‘deleteLater’ in ‘* watcher’, which is of non-class type ‘int’
  305 |         watcher->deleteLater();
      |                  ^~~~~~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp: In member function ‘void QXdgDesktopPortalFileDialog::gotResponse(uint, const QVariantMap&)’:
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:453:43: error: ‘qdbus_cast’ was not declared in this scope
  453 |             const Filter selectedFilter = qdbus_cast<Filter>(results.value(QStringLiteral("current_filter")));
      |                                           ^~~~~~~~~~
/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp:453:60: error: expected primary-expression before ‘>’ token
  453 |             const Filter selectedFilter = qdbus_cast<Filter>(results.value(QStringLiteral("current_filter")));
      |                                                            ^
make[1]: *** [Makefile:500: .obj/qxdgdesktopportalfiledialog.o] Error 1
make[1]: Leaving directory '/var/tmp/portage/dev-qt/qtwidgets-5.15.3/work/qtbase-everywhere-src-5.15.3_build/src/plugins/platformthemes/xdgdesktopportal'
make: *** [Makefile:48: sub-xdgdesktopportal-make_first] Error 2

Reproducible: Always
Comment 1 robertgzr 2022-04-28 10:57:21 UTC
Created attachment 775161 [details]
shortened qtwidgets build log
Comment 2 robertgzr 2022-04-28 10:58:03 UTC
Created attachment 775164 [details]
emerge --info log
Comment 3 Andreas Sturmlechner gentoo-dev 2022-05-06 17:15:10 UTC
Do not shorten build.log in general please. I'm not sure what to make of this bug - what is the version of dev-qt/qtdbus at the time of this error? Is it reproducible?
Comment 4 robertgzr 2022-05-08 17:01:09 UTC
> Do not shorten build.log in general please

it was multiple MB, which I couldn't simply upload here... what alternatives are there?

> version of dev-qt/qtdbus

[I] dev-qt/qtdbus (5.15.3(5/5.15){tbz2}@04/22/2022):

> reproducible

On my system this happened consistently...
without the dbus/gtk useflags this works and I can upgrade to 5.15.3 fine but that's not helpful :D



I get similar weird issues when upgrading qtdeclarative btw:


In file included from /var/tmp/portage/dev-qt/qtdeclarative-5.15.3-r1/work/qtdeclarative-everywhere-src-5.15.3/include/QtQuick/qsgmaterialshader.h:1,
                 from /var/tmp/portage/dev-qt/qtdeclarative-5.15.3-r1/work/qtdeclarative-everywhere-src-5.15.3/src/quick/scenegraph/coreapi/qsgmaterial.h:44,
                 from /var/tmp/portage/dev-qt/qtdeclarative-5.15.3-r1/work/qtdeclarative-everywhere-src-5.15.3/src/quick/scenegraph/coreapi/qsgmaterialshader.cpp:40:
/var/tmp/portage/dev-qt/qtdeclarative-5.15.3-r1/work/qtdeclarative-everywhere-src-5.15.3/include/QtQuick/../../src/quick/scenegraph/coreapi/qsgmaterialshader.h:89:9: error: ‘QOpenGLContext’ does not name a type
   89 |         QOpenGLContext *context() const;
      |         ^~~~~~~~~~~~~~
/var/tmp/portage/dev-qt/qtdeclarative-5.15.3-r1/work/qtdeclarative-everywhere-src-5.15.3/include/QtQuick/../../src/quick/scenegraph/coreapi/qsgmaterialshader.h:106:12: error: ‘QOpenGLShaderProgram’ does not name a type
  106 |     inline QOpenGLShaderProgram *program() { return &m_program; }
      |            ^~~~~~~~~~~~~~~~~~~~

I feel like something is borked with my qt install, but I would love to know what it could be :P
Comment 5 robertgzr 2022-05-31 19:26:08 UTC
updating the system today managed to resolve this. still no idea what is going on though :S
Comment 6 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-09-30 02:09:15 UTC
(In reply to robertgzr from comment #4)
> > Do not shorten build.log in general please
> 
> it was multiple MB, which I couldn't simply upload here... what alternatives
> are there?
> 

Ansifilter it and then compress it with e.g. xz -9.
Comment 7 Mazunki Hoksaas 2022-09-30 07:01:55 UTC
Created attachment 814726 [details]
Full log output
Comment 8 Mazunki Hoksaas 2022-09-30 07:07:32 UTC
I've added an attachment including a full log, after encountering the same error myself.

I also believe https://bugs.gentoo.org/504322 to be related to this one, since I was also hitting missing `qopenglextrafunctions.h` during some of my build attempts.

I verified that /usr/include/qt5/QtGui/qopenglextrafunctions.h` did exist when it didn't find it. The official Qt5 documentation mentions `QT += gui` as cmake flags (we're not using cmake ourselves, though).

I've tried to rebuild my whole `dev-qt/*` tree multiple times, with different sets of USE flags. qtwidgets only seems to build with `USE="-dbus -only-gles2"`, but that is not sufficient to bootstrap it.
Comment 9 Mazunki Hoksaas 2022-09-30 07:13:27 UTC
Created attachment 814750 [details]
emerge --info for full log

Probably wise to include my CC=clang and whatnot.
Comment 10 Arfrever Frehtes Taifersar Arahesis 2022-09-30 09:26:24 UTC
1. QtDBus/QDBusMessage includes QtDBus/qdbusmessage.h, which encloses all classes etc. within:

#ifndef QT_NO_DBUS


2. /usr/include/qt5/QtCore/qconfig.h installed by qtcore contains:

#define QT_NO_DBUS 


3. /usr/include/qt5/QtCore/qconfig.h is modified in Gentoo to start with #include <Gentoo/gentoo-qconfig.h>, but user from comment #7 had broken bashrc, which overrode pkg_postinst() function, so qt5-build_pkg_postinst() and qt5_regenerate_global_configs() were not run, and his /usr/include/qt5/Gentoo/gentoo-qconfig.h was empty.
(It would normally contain '#define QT_DBUS' if qtdbus is installed.)


4. Some parts of build system fail to pass -I${build_directory}/include (either with full path or relative path with .. sequences) to compiler, so ${build_directory}/include/QtCore/qconfig.h (which is generated by 'configure' and in this case does not contain '#define QT_NO_DBUS ') is not used.

This is seen in build log for all files after ' * Running emake in src/plugins/platformthemes' at line 1853.

It is possible that qtwidgets[-dbus] with qtdbus installed would automagically enable some qtdbus code at least in src/plugins/platformthemes directory.

Since there may be other affected packages, I suggest that eclass, after ensuring existence of usable qconfig.h in build directory (https://gitweb.gentoo.org/repo/gentoo.git/tree/eclass/qt5-build.eclass?id=3834431f616e7cd362315b23ea47e2aade67a264#n666), append -I option with appropriate directory to {C,CXX}FLAGS.
Comment 11 Lars 2023-03-08 07:51:35 UTC
My /usr/include/qt5/Gentoo/gentoo-qconfig.h is empty, too. How can I fix this?
I already tried to `emerge -v1 dev-qt/qtcore` but this did not help, the file is still empty.
On my other system with similar setup (and similar ~/.bashrc) the file is not empty.
Comment 12 Chiitoo gentoo-dev 2023-03-08 08:20:19 UTC
(In reply to Lars from comment #11)
> My /usr/include/qt5/Gentoo/gentoo-qconfig.h is empty, too. How can I fix
> this?
> I already tried to `emerge -v1 dev-qt/qtcore` but this did not help, the
> file is still empty.
> On my other system with similar setup (and similar ~/.bashrc) the file is
> not empty.

There might be some ideas here:

https://forums.gentoo.org/viewtopic-t-1161660.html

In particular the post mentioning the PATH variable:

https://forums.gentoo.org/viewtopic-p-8777444.html#8777444

Another topic here, with a similar issue though no conclusion so far it seems:

https://forums.gentoo.org/viewtopic-t-1161250.html
Comment 13 Lars 2023-03-08 21:16:20 UTC
(In reply to Chiitoo from comment #12)
> There might be some ideas here:
> 
> https://forums.gentoo.org/viewtopic-t-1161660.html
> 
> In particular the post mentioning the PATH variable:
> 
> https://forums.gentoo.org/viewtopic-p-8777444.html#8777444

Thank you! I had a similar issue as explained here:
https://forums.gentoo.org/viewtopic-p-8777444.html?sid=bcfd98f88582b005ca278732e3c845fc#8777444

Running the find command used in `qt5_regenerate_global_configs()` in '/usr/portage/eclass/qt5-build.eclass' manually, shows which entry in PATH is the culprit. In my case it was `~/.local/bin` defined in '/etc/env.d/99pip'. `equery belongs /etc/env.d/99pip` finds nothing, so maybe I created the file myself. 

After removing the file, `env-update && source /etc/profile` and `emerge -v1 dev-qt/qtcore` everything else worked.