Buildworld /rescue failures in 5.1

Garance A Drosihn drosih at rpi.edu
Wed Jul 23 16:41:23 PDT 2003


At 6:41 PM -0400 7/23/03, Garance A Drosihn wrote:
>Where that error is:
>
>make: don't know how to make 
>/usr/obj/usr/src/rescue/rescue//usr/src/sbin/dhclient/client/clparse.o. 
>Stop
>*** Error code 2
>1 error
>*** Error code 2
>1 error

Well, that isn't always the error message, but it's always
something similar to that.

Now that it takes me only a few minutes to test things, I
think I'm making some kind of headway.  I redid the making
of rescue with '-j2', and got the error

make: don't know how to make 
/usr/obj/usr/src/rescue/rescue//usr/src/gnu/usr.bin/tar/addext.o. Stop

I then compared the files in the directory
    /usr/obj/usr/src/.../usr.bin/tar
between the attempt which worked, and the attempt which failed.
The attempt which worked had a '.depend' file which did not
exist in the attempt which failed.

Ie, make trying to build addext.o before the .depend file has
shown up for anything in 'tar'.  In the attempt which works,
that .depend file includes:

addext.o: /usr/src/contrib/tar/lib/addext.c \
   /usr/src/gnu/usr.bin/tar/config.h /usr/include/paths.h \
   /usr/include/sys/cdefs.h /usr/include/limits.h \
   /usr/include/sys/limits.h /usr/include/machine/_limits.h \
   /usr/include/sys/syslimits.h /usr/include/sys/types.h \
   /usr/include/machine/endian.h /usr/include/sys/_types.h \
   /usr/include/machine/_types.h /usr/include/sys/select.h \
   /usr/include/sys/_sigset.h /usr/include/sys/_timeval.h \
   /usr/include/sys/timespec.h /usr/include/string.h \
   /usr/include/strings.h /usr/include/unistd.h /usr/include/sys/unistd.h \     
   /usr/include/errno.h /usr/src/contrib/tar/lib/backupfile.h \
   /usr/src/contrib/tar/lib/dirname.h

So it is easy to image that this .depend file is crucial to
successfully making addext.o.

The .depend file is apparently created by
     /usr/obj/usr/src/rescue/rescue/rescue.mk

and that in turn says it is generated from rescue.conf
by crunchgen 0.2.  The rescue.mk file includes the rule:

tar_make:
         (cd $(tar_SRCDIR) && \
                 $(MAKE) $(BUILDOPTS) $(tar_OPTS) depend &&\
                 $(MAKE) $(BUILDOPTS) $(tar_OPTS) $(tar_OBJS))

and my guess is that construct is not '-j' safe.

I have no idea how to fix that, or even if I'm on the right
track, but perhaps the above will be useful to someone who
understands parallel makes more than I do...

-- 
Garance Alistair Drosehn            =   gad at gilead.netel.rpi.edu
Senior Systems Programmer           or  gad at freebsd.org
Rensselaer Polytechnic Institute    or  drosih at rpi.edu


More information about the freebsd-current mailing list