Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Nov 2015 08:27:01 -0800
From:      John Baldwin <jhb@freebsd.org>
To:        Marius Strobl <marius@alchemy.franken.de>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: Supporting cross-debugging vmcores in libkvm (Testing needed)
Message-ID:  <10500589.8oRBRieQhc@ralph.baldwin.cx>
In-Reply-To: <20151120015621.GQ31931@alchemy.franken.de>
References:  <3121152.ujdxFEovO3@ralph.baldwin.cx> <2429833.yYfvNJzKe9@ralph.baldwin.cx> <20151120015621.GQ31931@alchemy.franken.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday, November 20, 2015 02:56:21 AM Marius Strobl wrote:
> On Thu, Nov 19, 2015 at 11:16:24AM -0800, John Baldwin wrote:
> > On Tuesday, November 17, 2015 11:45:05 PM Marius Strobl wrote:
> > > On Mon, Nov 16, 2015 at 04:37:32PM -0800, John Baldwin wrote:
> > > > Hmm, it is true that libkvm now depends on libelf.  My -j 16 tinderbox
> > > > builds did not trip over that, and lib/Makefile has libelf in its
> > > > "early" list of libraries (SUBDIR_ORDERED), so it seems like it should
> > > > be built before libkvm is tried?
> > > 
> > > Well, I'd agree in principle but also just can say that -j16 builds
> > > reliably fail here:
> > > --- lib/libkvm__L ---
> > > /home/marius/co/build/head3/i386.i386/usr/home/marius/co/head3/src/tmp/usr/bin/
> > > ld: cannot find -lelf
> > > cc: error: linker command failed with exit code 1 (use -v to see invocation)
> > > *** [libkvm.so.6] Error code 1
> > 
> > I found this.  There are three(!) places I've had to annotate the libkvm now
> > depends on libelf though it seems only one of them is actually used by
> > buildworld (and that was the one I had missed).
> > 
> 
> Does this mean that the .WAITs in SUBDIR_ORDERED of lib/Makefile
> don't have the desired effect? I see other build failures which
> suggest that other .WAITs in tree just don't work as expected.
> Usually I only hit these with -j128 or higher, though.

They work if you do 'make' in lib.  But buildworld does 'make libraries'
and then later does 'make' in lib, and the 'make libraries' step uses a
separate set of variables (_prereq_libs, _startup_libs, etc.) defined in
Makefile.inc1 to set the order of 'make libraries'. :-(

-- 
John Baldwin



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