From owner-freebsd-ports@FreeBSD.ORG Wed Jun 20 08:45:39 2012 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CA46D106566B for ; Wed, 20 Jun 2012 08:45:39 +0000 (UTC) (envelope-from beat.gaetzi@gmail.com) Received: from mail-qc0-f182.google.com (mail-qc0-f182.google.com [209.85.216.182]) by mx1.freebsd.org (Postfix) with ESMTP id 7D7418FC0C for ; Wed, 20 Jun 2012 08:45:39 +0000 (UTC) Received: by qcsg15 with SMTP id g15so4912691qcs.13 for ; Wed, 20 Jun 2012 01:45:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=TN/a5AqValNTxN2Ci3eqYBnxu1ngL5t3VlMW2RkhVB8=; b=w7/cH9N9thpxWaNhAmiuQ/kqCG2VZU5/jnc+xbia6pXdrhGOfSFOxK9QNBO2NnTKtB E080jNIsVf14DwMFPOdxSFMNFB77AybPq/GM+LOI9YI2PfxnyUVGEHiG4VNaSHd4o55f 0U2pk4/qzSujX+ineipIC/afS/EcywBhz0ZQuijatV5EHQYUyNJWsNcJ1kzfFBc3wRAl gJIAyLMlhY9j8Rhs4EDquvBVQFOqhtyApFl76AEGGa/qYZWFrJXkbNh8XqydyWvrZJou BnsjrKj65Ql29DqnW46hUrULDSamP87w/VAEBnOzT26lRVjPQd1AiphmWylr6tSgrWt9 XfkA== MIME-Version: 1.0 Received: by 10.229.136.137 with SMTP id r9mr11518339qct.65.1340181938633; Wed, 20 Jun 2012 01:45:38 -0700 (PDT) Sender: beat.gaetzi@gmail.com Received: by 10.229.89.71 with HTTP; Wed, 20 Jun 2012 01:45:38 -0700 (PDT) In-Reply-To: <4FE18BB5.5040803@passap.ru> References: <4FE097DA.30701@passap.ru> <4FE18BB5.5040803@passap.ru> Date: Wed, 20 Jun 2012 10:45:38 +0200 X-Google-Sender-Auth: gxHMmvEEAU1OJfIxdK7uabPRzGQ Message-ID: From: Beat Gaetzi To: Boris Samorodov Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: quoted-printable Cc: freebsd-ports@freebsd.org, "Andrew W. Nosenko" Subject: Re: clang, dbus, firefox+thunderbird X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Jun 2012 08:45:40 -0000 2012/6/20 Boris Samorodov : > Hi All, > > Andrew, thanks for your time and help! > > 19.06.2012 21:14, Andrew W. Nosenko =CE=C1=D0=C9=D3=C1=CC: > >> On Tue, Jun 19, 2012 at 6:16 PM, Boris Samorodov =9Awrot= e: >>> >>> Hi List, >>> >>> I use clang compiled world (WITH_CLANG_IS_CC=3D"YES" and >>> WITH_LIBCPLUSPLUS=3D"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 =9A =9A bsam@bsam.wart.ru:/usr/obj/usr/src/sys/BB= X >>> =9Ai386 >>> ----- >>> >>> 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 identifie= r >>> [-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" >>> >>> =9A =9A ^ >>> >>> >>> /usr/local/include/dbus-1.0/dbus/dbus-protocol.h:459:126: error: invali= d >>> suffix on literal; C++11 requires a space between literal and identifie= r >>> [-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" >>> >>> =9A =9A =9A =9A =9A =9A =9A =9A =9A =9A =9A =9A =9A =9A =9A =9A =9A =9A= =9A =9A =9A =9A =9A =9A =9A =9A =9A^ >>> >>> >>> 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 =9A"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=3Dgnu++98), or edit dbus-protocol.h header for make it c++11 >> compatible. =9AIt'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 >> >> =9A #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 >> >> =9A #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