Handbook: bsd.*.mk files. More use of -DNOPROFILE

Craig Carey snowfall at gmx.co.uk
Sun Jun 29 08:29:26 UTC 2003


[1] Request for advice to copy the bsd*.mk files out of the /usr/src/
 directory

I noted yesterday that

   make -DNOCLEAN buildworld

crashes instead of completing. I started with a version 5.1 release of
FreeBSD and after a tiny number of updates, buildworld no longer ran.

The problem was that (as usual) buildworld was using the wrong bsd.*.mk
files. So long as that is not going to be fixed, then it can be
documented. Persons new to FreeBSD 5 would easily find the messages to
be unhelpful.

This comment on section 21.4 of the FreeBSD handbook:

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html

I'd suggest that BSD "make" catch all attempts to wrongly read files
outside of the /usr/src directory.

If make buildworld won't copy across the bsd*.mk files then comments
in the handbook can tell the user to do it. There was no comment on the
problem in the /usr/src/UPDATING file (or whatever it is named).

Those errors are hard to figure out due to the obscurity of what those
files do. E.g. how many new FreeBSD userss understand exactly how a
bsd*mk file alters the directory that a C "#incude <abcde.h>"
accesses ?.

-------------

[2] Let's have -DNOCLEAN be in all the examples instead of -DNOPROFILE

The -DNOCLEAN option stops unnecessary recompiling.

Yesterday, at least 1/2 of the crashes in buildworld of version 5 of
FreeBSD, were due to bugs in FreeBSD software that vanished when I
made no change at all and restarted the buildworld. It might be that
make can't multitask properly. I assume that using -DNOCLEAN causes
no problems (unless retaining very old files). A lot of retries are
needed before buildworld of v5 runs correctly (in June).

There is no need to mention -DNOPROFILE in example command.
That is  set by the /etc/make.conf file so it need not be retyped in.
The option "-DNOPROFILE" appears 3 times on that part of the
handbook

---------------------------------------------
    # make -DNOPROFILE target
    ...
    For example, if you ran:
       # make -DNOPROFILE buildworld
       you must install the results with:
       # make -DNOPROFILE installworld
---------------------------------------------

It would be nice to add a "then" before the "you must".
Please can the 3 "-DNOPROFILE"s be changed to be "-DNOCLEAN".

I have an EPoX motherboard that crashes very infrequently and yet
when I did a v5 buildworld then I got at least 4 crashes and so
many that it was faster to do without the "-j4" option. Quite
probably the buildworld will fix itself when nothing is done,
even when there is no use of the "-j" ["-j4"] option.

The best plan seems to be to try this (and missing out -DNOCLEAN
in favour of -DNOPROFILE would be against this):
  (a) don't investigate
  (b) restart the buildworld.
  (c) if that failed then solve the problem.

-------------


I don't actually intend to report these as bugs. Someone else could
do that or write to me or whatever.



At 2003-05-10 18:50 -0400 Saturday, Tom Rhodes wrote:
>On Sat, 10 May 2003 15:23:38 -0600 (MDT)
>Warren Block <wblock at wonkity.com> wrote:
>
>> Isn't "make world" deprecated?  The Handbook Using "make world" chapter
...
>
>AFAIK, make world still works (least it did for me yesterday on a CURRENT
>box) and don't see it becoming deprecated any time soon.
>
...




More information about the freebsd-doc mailing list