Date: Thu, 6 Nov 2014 15:19:19 -0800 From: NGie Cooper <yaneurabeya@gmail.com> To: Devin Teske <dteske@freebsd.org> Cc: "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org>, Steve Kargl <sgk@troutmask.apl.washington.edu> Subject: Re: svn commit: r274203 - head Message-ID: <CAGHfRMBJ7BgktVg45RgoOYpjCidcv=BCFsv9SV=v8KB=Q=bpKw@mail.gmail.com> In-Reply-To: <0ab001cffa16$3cab7d90$b60278b0$@FreeBSD.org> References: <201411062253.sA6Mro6t023294@svn.freebsd.org> <20141106230509.GA83754@troutmask.apl.washington.edu> <0ab001cffa16$3cab7d90$b60278b0$@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Nov 6, 2014 at 3:06 PM, <dteske@freebsd.org> wrote: > >> -----Original Message----- >> From: Steve Kargl [mailto:sgk@troutmask.apl.washington.edu] >> Sent: Thursday, November 6, 2014 3:05 PM >> To: Devin Teske >> Cc: src-committers@freebsd.org; svn-src-all@freebsd.org; svn-src- >> head@freebsd.org >> Subject: Re: svn commit: r274203 - head >> >> On Thu, Nov 06, 2014 at 10:53:50PM +0000, Devin Teske wrote: >> > Author: dteske >> > Date: Thu Nov 6 22:53:50 2014 >> > New Revision: 274203 >> > URL: https://svnweb.freebsd.org/changeset/base/274203 >> > >> > Log: >> > SUBDIR_DEPENDS__ in lib/Makefile is not working out so well for me. >> > Add to using _prebuild_libs in (top-level) Makefile.inc1. >> > NB: Unbreak build yet again (we'll get this right eventually) >> >> Any chance that you can test your changes before committing? >> > > I don't have a -CURRENT box; and -CURRENT is giving different results. freefall's a pretty good build box for starters potentially (just point MAKEOBJDIRPREFIX to $HOME/obj) The real problem is that there's some build tiering that's taking place between different portions of the build, and depending on when and how things get done, things can go awry. There's one race that I asked dteske to fix, which is build gnu/lib/libdialog with _prebuild_libs (it will fail if the stars align properly today because gnu/lib is built in _generic_libs, as-is lib/). SUBDIR_DEPENDS/SUBDIR_PARALLEL doesn't work 100% unfortunately, as I've noticed in my own testing, depending on the order that things get installed/built. At best it only works if things use -L to point to libraries .PATH to point to files produced during the build, etc, and it doesn't work in dteske's case (lib A depends on lib B, which hasn't been installed to ${WORLDTMP}/usr/lib yet, so the linking process fails). make _libraries runs the `make obj; make depend; make all; make install` steps. Some libraries have implicit dependencies that aren't recorded; technically, gnu/lib/libdialog depends on libncurses as a build and runtime dependency, but because make _includes gets run before make _libraries, the build goes through without a hitch. The overlinking work that bapt's doing may unroot additional issues with implied dependencies in the build, or fix other issues if the libraries aren't fully spelled out. It'll be nice once we move away from this tiered building hell :(...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGHfRMBJ7BgktVg45RgoOYpjCidcv=BCFsv9SV=v8KB=Q=bpKw>