When compiling any sources that use dbus with GCC 4.7 the compilation fails with "unable to find string literal operator 'operator"" DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER'" and gives the warning "ISO C99 requires whitespace after the macro name".
The line 428:
#define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE"<!DOCTYPE node PUBLIC \""DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER"\"\n\""DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER"\">\n"
should instead read thus:
#define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "<!DOCTYPE node PUBLIC \"" DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER "\"\n\"" DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER "\">\n"
Please notice the added whitespace between macros and "literal strings" - since C++11 allows to define new literals with a very similar syntax the left out spaces make the source ambiguous.
*** This bug has been marked as a duplicate of bug 46147 ***