Date: Mon, 5 Jan 2015 16:49:57 -0800 From: Kevin Oberman <rkoberman@gmail.com> To: Kevin Oberman <rkoberman@gmail.com>, FreeBSD-STABLE Mailing List <freebsd-stable@freebsd.org> Subject: Re: Upgrading from stable/8 to stable/9 blocked by file 5.21 (r276416) Message-ID: <CAN6yY1ux8LKg8RxgdNMw7jVABAGL2YvtKOmO3ZMEOwWUNVsx5A@mail.gmail.com> In-Reply-To: <20150105201735.GA2642@anubis.morrow.me.uk> 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> <CAN6yY1uNb-r5s4i9tdya5NS0Nmrc16=e4MWQ=vQNHGLiATvXxg@mail.gmail.com> <20150105201735.GA2642@anubis.morrow.me.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jan 5, 2015 at 12:17 PM, Ben Morrow <ben@morrow.me.uk> wrote: > Quoth Kevin Oberman <rkoberman@gmail.com>: > > 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAN6yY1ux8LKg8RxgdNMw7jVABAGL2YvtKOmO3ZMEOwWUNVsx5A>