Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Jan 2015 20:17:50 +0000
From:      Ben Morrow <ben@morrow.me.uk>
To:        rkoberman@gmail.com, freebsd-stable@freebsd.org
Subject:   Re: Upgrading from stable/8 to stable/9 blocked by file 5.21 (r276416)
Message-ID:  <20150105201735.GA2642@anubis.morrow.me.uk>
In-Reply-To: <CAN6yY1uNb-r5s4i9tdya5NS0Nmrc16=e4MWQ=vQNHGLiATvXxg@mail.gmail.com>
References:  <alpine.BSF.2.11.1501041830030.1551@mail.fig.ol.no> <54A9A853.2000208@delphij.net> <alpine.BSF.2.11.1501051036160.1551@mail.fig.ol.no>

next in thread | previous in thread | raw e-mail | index | archive | help
Quoth Kevin Oberman <rkoberman@gmail.com>:
> On Mon, Jan 5, 2015 at 1:49 AM, Trond Endrestøl <
> Trond.Endrestol@fagskolen.gjovik.no> wrote:
> 
> > ===> lib/libmagic (obj,build-tools)
> > gcc -O2 -pipe -DMAGIC='"/usr/share/misc/magic"' -DHAVE_CONFIG_H
> > -I/usr/src/lib/libmagic -I/usr/src/lib/libmagic/../../contrib/file/src
> > -std=gnu99   -I/usr/obj/usr/src/tmp/legacy/usr/include -DCOMPILE_ONLY
> > -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 the
> 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150105201735.GA2642>