From owner-freebsd-stable@FreeBSD.ORG Tue Jan 6 00:49:58 2015 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 469433C1 for ; Tue, 6 Jan 2015 00:49:58 +0000 (UTC) Received: from mail-ig0-x22e.google.com (mail-ig0-x22e.google.com [IPv6:2607:f8b0:4001:c05::22e]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 071C2660D9 for ; Tue, 6 Jan 2015 00:49:58 +0000 (UTC) Received: by mail-ig0-f174.google.com with SMTP id hn15so3453249igb.1 for ; Mon, 05 Jan 2015 16:49:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:content-type; bh=mWFVzkOJCD8pvMhpEAeBhHr39xotYdtNyKuLiktRdIQ=; b=xiXtJNL5SvqQX2TuRueNIHR1K718bUSHTA6kHMi2sd7m5YlBBtHcKFRdZ0uLwz96kR QA/8j5r9aI61kMCuIUrSRCh9kJBrEZQP7iI3mMCpI1ZOusC96j61I8bCZ/+wDwDMuirn Ui1WHgcvtIcjeQNomTAB5Tq6EICj2iZErIrn1SEAz/v5upkTOuCk5qGgX3N7Xn0uiKvE ckqPVOlcnEVgjbFLumCaJY7yOCaL7p0K2ekiZNOnegK5zVl2lKH1nTvN0WpJQ4HVZA89 0CtGFtaJXtcdm8FepZGW0KTd7qHe2/jfMLV96KAUD5ChCMYbrNGnkE2D7J54yD0upWaf Q6vA== MIME-Version: 1.0 X-Received: by 10.50.134.65 with SMTP id pi1mr13602087igb.32.1420505397419; Mon, 05 Jan 2015 16:49:57 -0800 (PST) Sender: kob6558@gmail.com Received: by 10.107.52.19 with HTTP; Mon, 5 Jan 2015 16:49:57 -0800 (PST) In-Reply-To: <20150105201735.GA2642@anubis.morrow.me.uk> References: <54A9A853.2000208@delphij.net> <20150105201735.GA2642@anubis.morrow.me.uk> Date: Mon, 5 Jan 2015 16:49:57 -0800 X-Google-Sender-Auth: W4JCq0Y_7KmXxxbprMgAXFHzESE Message-ID: Subject: Re: Upgrading from stable/8 to stable/9 blocked by file 5.21 (r276416) From: Kevin Oberman To: Kevin Oberman , FreeBSD-STABLE Mailing List Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jan 2015 00:49:58 -0000 On Mon, Jan 5, 2015 at 12:17 PM, Ben Morrow wrote: > Quoth Kevin Oberman : > > On Mon, Jan 5, 2015 at 1:49 AM, Trond Endrest=C3=B8l < > > Trond.Endrestol@fagskolen.gjovik.no> wrote: > > > > > =3D=3D=3D> lib/libmagic (obj,build-tools) > > > gcc -O2 -pipe -DMAGIC=3D'"/usr/share/misc/magic"' -DHAVE_CONFIG_H > > > -I/usr/src/lib/libmagic -I/usr/src/lib/libmagic/../../contrib/file/sr= c > > > -std=3Dgnu99 -I/usr/obj/usr/src/tmp/legacy/usr/include -DCOMPILE_ON= LY > > > -L/usr/obj/usr/src/tmp/legacy/usr/lib -o mkmagic > [...] > > > > This still comes down to he build of file (and specifically libmagick > not > > finding xlocale.h. the new header files should have been installed into > > /usr/obj long before the build of file starts. the buildworld should > always > > run clean, obj, _includes, and depends before any of the actual builds > > commence. > > > > So the issue is whether the build of libmagic is failing to look for > > xlocale.h in the right place or the _includes: target is failing to > install > > it there. > > > > This can be checked by building without -j (to eliminate any possible > > races) and, after the failure, look for xlocale.h in > > /usr/obj/usr/src/tmp/usr/include. This is where all header files should > be > > installed in the /usr/obj tree so that they are available and used by t= he > > buildworld. > > If I'm reading Makefile.inc1 right (and it's possible I'm not) then the > build-tools stage comes before the compiler is rebuilt, so it's still > using the host system compiler. If I'm right about that, then that gcc > command above isn't looking in that directory (it's looking in /legacy/ > instead, which doesn't get xlocale.h). > > Also, unless I'm mistaken, the _includes stage ('stage 4.1: building > includes') runs after the build-tools stage ('stage 2.3: build tools'). > The only headers that have been installed by that point are those > installed in .../tmp/legacy/usr/include by 'legacy' and > 'bootstrap-tools'. > > Ben > I just deleted /usr/obj/* and did buildworld (no -j) and here is what I found: 20352 libmagic is compiled for the tool-chain (build-tools) 26334 magic.h installed in /usr/obj/usr/src/tmp/usr/include 27061 xlocale.h is installed into /usr/obj/usr/src/tmp/usr/include/ 63838 libmagick depends built 68635 libmagic compile 68729 libmagick shareable linked So libmagick is built twice, once in the tool-chain before xlocale is installed in /usr/obj/usr/src/tmp/usr/include and again, with all bells and whistles after clang has been built. the latter is the one actually installed in installworld. So your analysis is correct. When the first libmagick is built with the old compiler for use in the tool chain, xlocale has not been installed and was not present in legacy (since it did not exist in 9-STABLE). I believe the proper answer is to move from 9-STABLE to 10.0-RELEASE and then to 10-STABLE. It MIGHT even require moving to 10.1-RELEASE. -- Kevin Oberman, Network Engineer, Retired