On Tue, Aug 28, 2001 at 05:55:17PM -0700, Chad R. Larson wrote:
> On Tue, Aug 28, 2001 at 02:27:15PM -0700, Kris Kennaway wrote:
> > On Tue, Aug 28, 2001 at 11:16:18PM +0200, Nicolas Grieco wrote:
> >> Does anyone has the answer for this ?
> > Probably you have stale object files in your /usr/src or /usr/obj.
> 
> This is an increasingly popular answer to builds that fail.  Perhaps
> we should look a little more deeply into how that can happen in the
> first place.
> 
> I mean, a buildworld sets off on a flurry of file removals when it
> starts up.  Why would it miss some?

Because files were moved around in the source tree (in this case,
ipfilter moved), and:

1) Some people may have old object files corresponding to the previous
location of the moved source, which are getting in the way of the new
compile due to makefiles which pick up the old objects in favour of
the new ones.  That's what I was postulating as the problem here (it's
also known to be the cause of certain other signatures of compilation
failure dying in ipfilter).

2) Some people may have cvsup metadata files which are out of sync
with their sources (caused by e.g. installing old release sources and
then immediately cvsupping to a later release which has some of those
files removed), and which will cause cvsup to not delete the files
which are no longer there.  The solution to this is described in the
cvsup FAQ and involves a two-stage process of first "adopting" your
extracted source tree, and then updating it.

Both of these can cause things to break, and do cause breakage
sometimes in practise.  Could it be worked around?  Probably..if
anyone cares to, please send patches.

> And "cvs update" with the "-Pd" switches should keep your source
> tree clean.

Not necessarily.  It doesn't remove extra files like object files (but
it does note them if you're paying attention).

Kris

PGP signature

Reply via email to