Re: clang, dbus, firefox+thunderbird
20.06.2012 12:45, Beat Gaetzi пишет: 2012/6/20 Boris Samorodov : Hi All, Andrew, thanks for your time and help! 19.06.2012 21:14, Andrew W. Nosenko написал: On Tue, Jun 19, 2012 at 6:16 PM, Boris Samorodov wrote: Hi List, I use clang compiled world (WITH_CLANG_IS_CC="YES" and WITH_LIBCPLUSPLUS="YES" at /etc/make.conf). The system is current: - % uname -a FreeBSD bsam.wart.ru 10.0-CURRENT FreeBSD 10.0-CURRENT #16 r237055: Thu Jun 14 17:16:43 SAMT 2012 b...@bsam.wart.ru:/usr/obj/usr/src/sys/BBX i386 - While updating to the latest firefox I get an error: - /usr/local/include/dbus-1.0/dbus/dbus-protocol.h:459:77: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal] #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "\n" ^ /usr/local/include/dbus-1.0/dbus/dbus-protocol.h:459:126: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal] #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "\n" ^ 2 errors generated. - OK, I did make config and deselect DBUS. Great, firefox compiles and installs (the latest one, 13.0.1). Then I try to upgrade thunderbird and get the same error. However there is no option DBUS to disable. What am I to do? Thanks! It's because of "User defined literals" (the new c++11 feature) and your clang++ is in c++11 (or gnu++11?) mode by default. As workaround, you may try either: "downgrade" to something like gnu++ 98 (-std=gnu++98), or edit dbus-protocol.h header for make it c++11 compatible. It's easy: just add spaces around DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER and DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER literals in the line 459 (just as compiler suggested). I.e. the line 459 #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "\n" should be written as #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "\n" You are right. And AFAIK a similar fix was committed to the ports tree while I was testing your suggestion. The fix helped clang to build firefox with DBUS on. However, thunderbird stopped building with another error. I'll create a new thread on the matter after some testing. There are patches to build Thunderbird with clang: http://lists.freebsd.org/pipermail/freebsd-gecko/2012-June/002273.html Maybe you could give them a try. Confirmed. It works for thunderbird 13.0.1. Thanks! -- WBR, Boris Samorodov (bsam) FreeBSD Committer, http://www.FreeBSD.org The Power To Serve ___ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: clang, dbus, firefox+thunderbird
On 2012-06-19 19:14, Andrew W. Nosenko wrote: > On Tue, Jun 19, 2012 at 6:16 PM, Boris Samorodov wrote: ... >> /usr/local/include/dbus-1.0/dbus/dbus-protocol.h:459:77: error: invalid >> suffix on literal; C++11 requires a space between literal and identifier >> [-Wreserved-user-defined-literal] >> #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "> \""DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER"\"\n\""DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER"\">\n" ... > As workaround, you may try either: "downgrade" to something like gnu++ > 98 (-std=gnu++98), or edit dbus-protocol.h header for make it c++11 > compatible. It's easy: just add spaces around > DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER and > DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER literals in the line 459 > (just as compiler suggested). Yes, this is exactly how upstream has fixed it: http://cgit.freedesktop.org/dbus/dbus/commit/dbus/dbus-protocol.h?id=51b88b4c7919487290c0862b013cd8e7cd2de34b ___ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: clang, dbus, firefox+thunderbird
On Wed, Jun 20, 2012 at 11:54 AM, Dimitry Andric wrote: > On 2012-06-19 19:14, Andrew W. Nosenko wrote: >> On Tue, Jun 19, 2012 at 6:16 PM, Boris Samorodov wrote: > ... >>> /usr/local/include/dbus-1.0/dbus/dbus-protocol.h:459:126: error: invalid >>> suffix on literal; C++11 requires a space between literal and identifier >>> [-Wreserved-user-defined-literal] >>> #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE ">> \""DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER"\"\n\""DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER"\">\n" > ... >> It's because of "User defined literals" (the new c++11 feature) and >> your clang++ is in c++11 (or gnu++11?) mode by default. > > Note, the version of clang in base defaults to gnu++98, *not* c++11 or > gnu++11. Maybe this is added by the configure script, after detection > of c++11 support? Another posibility: message about C++11 user defined literals is just a warning intended for forward compatibility, but promoted to error because of -Werror. But it's just a guess, I'm didn't tried to build firefox or thunderbird by self. -- Andrew W. Nosenko ___ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: clang, dbus, firefox+thunderbird
On 2012-06-19 19:14, Andrew W. Nosenko wrote: > On Tue, Jun 19, 2012 at 6:16 PM, Boris Samorodov wrote: ... >> /usr/local/include/dbus-1.0/dbus/dbus-protocol.h:459:126: error: invalid >> suffix on literal; C++11 requires a space between literal and identifier >> [-Wreserved-user-defined-literal] >> #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "> \""DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER"\"\n\""DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER"\">\n" ... > It's because of "User defined literals" (the new c++11 feature) and > your clang++ is in c++11 (or gnu++11?) mode by default. Note, the version of clang in base defaults to gnu++98, *not* c++11 or gnu++11. Maybe this is added by the configure script, after detection of c++11 support? ___ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: clang, dbus, firefox+thunderbird
2012/6/20 Boris Samorodov : > Hi All, > > Andrew, thanks for your time and help! > > 19.06.2012 21:14, Andrew W. Nosenko написал: > >> On Tue, Jun 19, 2012 at 6:16 PM, Boris Samorodov wrote: >>> >>> Hi List, >>> >>> I use clang compiled world (WITH_CLANG_IS_CC="YES" and >>> WITH_LIBCPLUSPLUS="YES" at /etc/make.conf). The system >>> is current: >>> - >>> % uname -a >>> FreeBSD bsam.wart.ru 10.0-CURRENT FreeBSD 10.0-CURRENT #16 r237055: Thu >>> Jun >>> 14 17:16:43 SAMT 2012 b...@bsam.wart.ru:/usr/obj/usr/src/sys/BBX >>> i386 >>> - >>> >>> While updating to the latest firefox I get an error: >>> - >>> /usr/local/include/dbus-1.0/dbus/dbus-protocol.h:459:77: error: invalid >>> suffix on literal; C++11 requires a space between literal and identifier >>> [-Wreserved-user-defined-literal] >>> #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE ">> >>> \""DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER"\"\n\""DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER"\">\n" >>> >>> ^ >>> >>> >>> /usr/local/include/dbus-1.0/dbus/dbus-protocol.h:459:126: error: invalid >>> suffix on literal; C++11 requires a space between literal and identifier >>> [-Wreserved-user-defined-literal] >>> #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE ">> >>> \""DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER"\"\n\""DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER"\">\n" >>> >>> ^ >>> >>> >>> 2 errors generated. >>> >>> - >>> >>> OK, I did make config and deselect DBUS. Great, firefox compiles and >>> installs (the latest one, 13.0.1). Then I try to upgrade thunderbird >>> and get the same error. However there is no option DBUS to disable. >>> >>> What am I to do? >>> Thanks! >> >> >> It's because of "User defined literals" (the new c++11 feature) and >> your clang++ is in c++11 (or gnu++11?) mode by default. >> >> As workaround, you may try either: "downgrade" to something like gnu++ >> 98 (-std=gnu++98), or edit dbus-protocol.h header for make it c++11 >> compatible. It's easy: just add spaces around >> DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER and >> DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER literals in the line 459 >> (just as compiler suggested). >> >> I.e. the line 459 >> >> #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "> PUBLIC >> \""DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER"\"\n\""DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER"\">\n" >> >> should be written as >> >> #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "> PUBLIC \"" DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER "\"\n\"" >> DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER "\">\n" > > > You are right. And AFAIK a similar fix was committed to the ports tree > while I was testing your suggestion. > > The fix helped clang to build firefox with DBUS on. However, > thunderbird stopped building with another error. I'll create > a new thread on the matter after some testing. There are patches to build Thunderbird with clang: http://lists.freebsd.org/pipermail/freebsd-gecko/2012-June/002273.html Maybe you could give them a try. Beat ___ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: clang, dbus, firefox+thunderbird
Hi All, Andrew, thanks for your time and help! 19.06.2012 21:14, Andrew W. Nosenko написал: On Tue, Jun 19, 2012 at 6:16 PM, Boris Samorodov wrote: Hi List, I use clang compiled world (WITH_CLANG_IS_CC="YES" and WITH_LIBCPLUSPLUS="YES" at /etc/make.conf). The system is current: - % uname -a FreeBSD bsam.wart.ru 10.0-CURRENT FreeBSD 10.0-CURRENT #16 r237055: Thu Jun 14 17:16:43 SAMT 2012 b...@bsam.wart.ru:/usr/obj/usr/src/sys/BBX i386 - While updating to the latest firefox I get an error: - /usr/local/include/dbus-1.0/dbus/dbus-protocol.h:459:77: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal] #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "\n" ^ /usr/local/include/dbus-1.0/dbus/dbus-protocol.h:459:126: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal] #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "\n" ^ 2 errors generated. - OK, I did make config and deselect DBUS. Great, firefox compiles and installs (the latest one, 13.0.1). Then I try to upgrade thunderbird and get the same error. However there is no option DBUS to disable. What am I to do? Thanks! It's because of "User defined literals" (the new c++11 feature) and your clang++ is in c++11 (or gnu++11?) mode by default. As workaround, you may try either: "downgrade" to something like gnu++ 98 (-std=gnu++98), or edit dbus-protocol.h header for make it c++11 compatible. It's easy: just add spaces around DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER and DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER literals in the line 459 (just as compiler suggested). I.e. the line 459 #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "\n" should be written as #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "\n" You are right. And AFAIK a similar fix was committed to the ports tree while I was testing your suggestion. The fix helped clang to build firefox with DBUS on. However, thunderbird stopped building with another error. I'll create a new thread on the matter after some testing. -- WBR, Boris Samorodov (bsam) FreeBSD Committer, http://www.FreeBSD.org The Power To Serve ___ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: clang, dbus, firefox+thunderbird
On Tue, Jun 19, 2012 at 6:16 PM, Boris Samorodov wrote: > Hi List, > > I use clang compiled world (WITH_CLANG_IS_CC="YES" and > WITH_LIBCPLUSPLUS="YES" at /etc/make.conf). The system > is current: > - > % uname -a > FreeBSD bsam.wart.ru 10.0-CURRENT FreeBSD 10.0-CURRENT #16 r237055: Thu Jun > 14 17:16:43 SAMT 2012 b...@bsam.wart.ru:/usr/obj/usr/src/sys/BBX i386 > - > > While updating to the latest firefox I get an error: > - > /usr/local/include/dbus-1.0/dbus/dbus-protocol.h:459:77: error: invalid > suffix on literal; C++11 requires a space between literal and identifier > [-Wreserved-user-defined-literal] > #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE " \""DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER"\"\n\""DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER"\">\n" > > ^ > > > /usr/local/include/dbus-1.0/dbus/dbus-protocol.h:459:126: error: invalid > suffix on literal; C++11 requires a space between literal and identifier > [-Wreserved-user-defined-literal] > #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE " \""DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER"\"\n\""DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER"\">\n" > > ^ > > > 2 errors generated. > > - > > OK, I did make config and deselect DBUS. Great, firefox compiles and > installs (the latest one, 13.0.1). Then I try to upgrade thunderbird > and get the same error. However there is no option DBUS to disable. > > What am I to do? > Thanks! It's because of "User defined literals" (the new c++11 feature) and your clang++ is in c++11 (or gnu++11?) mode by default. As workaround, you may try either: "downgrade" to something like gnu++ 98 (-std=gnu++98), or edit dbus-protocol.h header for make it c++11 compatible. It's easy: just add spaces around DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER and DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER literals in the line 459 (just as compiler suggested). I.e. the line 459 #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "\n" should be written as #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "\n" -- Andrew W. Nosenko ___ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
clang, dbus, firefox+thunderbird
Hi List, I use clang compiled world (WITH_CLANG_IS_CC="YES" and WITH_LIBCPLUSPLUS="YES" at /etc/make.conf). The system is current: - % uname -a FreeBSD bsam.wart.ru 10.0-CURRENT FreeBSD 10.0-CURRENT #16 r237055: Thu Jun 14 17:16:43 SAMT 2012 b...@bsam.wart.ru:/usr/obj/usr/src/sys/BBX i386 - While updating to the latest firefox I get an error: - /usr/local/include/dbus-1.0/dbus/dbus-protocol.h:459:77: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal] #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "\""DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER"\"\n\""DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER"\">\n" ^ /usr/local/include/dbus-1.0/dbus/dbus-protocol.h:459:126: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal] #define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "\""DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER"\"\n\""DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER"\">\n" ^ 2 errors generated. - OK, I did make config and deselect DBUS. Great, firefox compiles and installs (the latest one, 13.0.1). Then I try to upgrade thunderbird and get the same error. However there is no option DBUS to disable. What am I to do? Thanks! -- WBR, Boris Samorodov (bsam) FreeBSD Committer, http://www.FreeBSD.org The Power To Serve ___ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"