From owner-freebsd-current@FreeBSD.ORG Thu Jan 31 13:13:04 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 662EB3CF for ; Thu, 31 Jan 2013 13:13:04 +0000 (UTC) (envelope-from jesse@glx.me) Received: from mail-we0-x22b.google.com (mail-we0-x22b.google.com [IPv6:2a00:1450:400c:c03::22b]) by mx1.freebsd.org (Postfix) with ESMTP id DE6A9684 for ; Thu, 31 Jan 2013 13:13:03 +0000 (UTC) Received: by mail-we0-f171.google.com with SMTP id u54so2117447wey.30 for ; Thu, 31 Jan 2013 05:13:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=glx.me; s=g; h=mime-version:x-received:x-originating-ip:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=rmw8yC4ayMdqsM5rAw5aOJ3FNTAoN5G5snI83CVJfc4=; b=IZwzbBX5pe6bWLmAdBQg/g8LUNUcktjvjKAFqg2CcvYZhfpGzQjYoi+971WduE1py0 sXVmDqAXtK2lkPzmEGn0eql3M+VTakY6iuCqpAIJrbzXEHU9GxfUhjMbeP+4rQUgYGLx d+pEPvAttQ7T6T0OMB3IIJnNoSI5n9qA7YZZ0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:x-originating-ip:in-reply-to:references :date:message-id:subject:from:to:cc:content-type:x-gm-message-state; bh=rmw8yC4ayMdqsM5rAw5aOJ3FNTAoN5G5snI83CVJfc4=; b=KJo6/FLX2Nh3tZjQzQruIeuoJzpXNDot0LkZhuMmHBfDKGYox2QG6xBf5LJymywu5s xFaUED0THGj1GZXLufNlHlCeUf+Qbn2lMYPHXTT8a+ohgQs/QBDyKp7k6/sYeoCPkzh6 4a6gl8KfHx2sj8oubUZ18bga2uqEojIs3SsnsSDkTG+reON+8Vum63jUYugy6k04uJAR dlf8u+Dp54ms8ejHM2axUou6jQ1ceOXmDXzTD7OxKxTIfDSEDGMHleIUxtgNGf58mMF/ UksmAiWhOW1McrAT8UFnc28FcpCTGE6vh3HcQyTJ1HDE0uvQzMDSoHb8+vtb/UvC7Wes tH1Q== MIME-Version: 1.0 X-Received: by 10.194.122.98 with SMTP id lr2mr15493249wjb.7.1359637981374; Thu, 31 Jan 2013 05:13:01 -0800 (PST) Received: by 10.194.165.135 with HTTP; Thu, 31 Jan 2013 05:13:01 -0800 (PST) X-Originating-IP: [101.83.47.37] In-Reply-To: <510A5382.6040007@zedat.fu-berlin.de> References: <51092025.1070906@FreeBSD.org> <5109F682.3060604@zedat.fu-berlin.de> <510A5382.6040007@zedat.fu-berlin.de> Date: Thu, 31 Jan 2013 21:13:01 +0800 Message-ID: Subject: Re: buildworld error From: Jesse To: "O. Hartmann" X-Gm-Message-State: ALoCoQnHe2amC2jcFGuSJuzE2uXdo73/LVEVBod56mtvg3cMq/rghFJegQHdh1rjx/fVgaTWQY3x Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.14 Cc: David Chisnall , freebsd-current@freebsd.org, Dimitry Andric X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Jan 2013 13:13:04 -0000 yes, that may be the reason. I write a simple c++ program in the built-complete system. and compile it: clang++ hello.cpp -std=c++11 -stdlib=libc++ -o hello it reports undefined reference to bad_alloc errors message same as someones discuss in this mail list. I find that it is because -stdlib=libc++ will link /usr/lib/libc++.so. If compile and link the c++ code like this it reports no error: clang++ hello.cpp -c -o hello.o -std=c++11 -stdlib=libc++ clang++ hello.o -o hello /usr/lib/libc++.a The second command will force clang++ to link the static libc++ instead of the shared lib. I think the current src build the libc++.so by false. Maybe libc++.so lacks some object files to wrap. ar -tv /usr/lib/libc++.a will print all of the necessary object files. On Thu, Jan 31, 2013 at 7:20 PM, O. Hartmann wrote: > On 01/31/13 05:43, O. Hartmann wrote: > > Am 01/31/13 05:06, schrieb Jesse: > >> z > >> > >> On 1/31/13, Jesse wrote: > >>> i set these in make.conf: > >>> CXXFLAGS+=-stdlib=libc++ > >>> CXXFLAGS+=-std=c++11 > >>> > >>> i comment them and rebuild world ok > >>> but it works at previous revision. > >>> > >>> On 1/30/13, Dimitry Andric wrote: > >>>> On 2013-01-30 10:37, Jesse wrote: > >>>>> I just update /usr/src and make buildworld. The building proccess > stop > >>>>> as > >>>>> errors: > >>>>> > >>>>> ===> lib/clang/libllvmx86asmparser (all) > >>>>> ===> lib/clang/libllvmx86codegen (all) > >>>>> ===> lib/clang/libllvmx86desc (all) > >>>>> ===> lib/clang/libllvmx86disassembler (all) > >>>>> ===> lib/clang/libllvmx86info (all) > >>>>> ===> lib/clang/libllvmx86instprinter (all) > >>>>> ===> lib/clang/libllvmx86utils (all) > >>>>> ===> lib/clang/libllvmdebuginfo (all) > >>>>> ===> lib/clang/libllvmexecutionengine (all) > >>>>> ===> lib/clang/libllvminterpreter (all) > >>>>> ===> lib/clang/libllvmjit (all) > >>>>> ===> lib/clang/libllvmmcdisassembler (all) > >>>>> ===> lib/clang/libllvmmcjit (all) > >>>>> ===> lib/clang/libllvmruntimedyld (all) > >>>>> ===> lib/clang/include (all) > >>>>> 1 error > >>>>> *** [everything] Error code 2 > >>>>> 1 error > >>>>> *** [buildworld] Error code 2 > >>>>> 1 error > >>>> > >>>> Because you are making buildworld with -j, the actual error message is > >>>> not visible. Try searching back in the log to find the actual error, > >>>> and post that. Alternatively, make buildworld without -j. > >>>> > >>> > >> _______________________________________________ > >> freebsd-current@freebsd.org mailing list > >> http://lists.freebsd.org/mailman/listinfo/freebsd-current > >> To unsubscribe, send any mail to " > freebsd-current-unsubscribe@freebsd.org" > >> > > > > > > I see the very same issue and reported this already. Since I'm not a > > professional developer, I'm not quite sure what and how to report the > > issue in exactly and accurate. > > > > In my case, this issue came "out of the blue". I also have set > > > > CXXFLAGS+= -stdlib=libc++ -std=c++11 > > > > but in /etc/src.conf. Commenting out "-std=c++11" makes the build of > > world fail with something like > > > > [...] > > fatal error: too many errors emitted, stopping now [-ferror-limit=] > > In file included from > > > /usr/src/lib/atf/libatf-c++/../../../contrib/atf/atf-c++/detail/application.cpp:42: > > In file included from > /usr/obj/usr/src/tmp/usr/include/c++/v1/iostream:38: > > In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/ios:216: > > In file included from > /usr/obj/usr/src/tmp/usr/include/c++/v1/__locale:15: > > In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/string:434: > > In file included from > /usr/obj/usr/src/tmp/usr/include/c++/v1/algorithm:594: > > In file included from /usr/obj/usr/src/tmp/usr/include/c++/v1/memory:597: > > /usr/obj/usr/src/tmp/usr/include/c++/v1/__functional_base:22:1: error: > > inline namespaces are a C++11 feature [-Werror,-Wc++11-extensions] > > [...] > > > > which sounds strange to me, since I completely erase /usr/obj before > > building and I do not use a ccache or any other similar facility. > > > > Regards, > > Oliver > > > > > > > I can confirm, that disabling CXXFLAGS+= -stdlib=libc++ > -std=c++11 completely solves the problem. > > Using -stdlib=libc++ building the system's sources decalres CURRENT broken. > >