Re: Q: continuing interrupted 'make buildworld'

2002-10-01 Thread Kevin Oberman

 Date: Tue, 1 Oct 2002 04:32:53 +0300
 From: Giorgos Keramidas [EMAIL PROTECTED]
 Sender: [EMAIL PROTECTED]
 
 On 2002-09-30 17:31, John Mills [EMAIL PROTECTED] wrote:
  I would like to restart a 'make buildworld' without deleting or recreating
  any unnecesary files (i.e., after messing about in the source tree).
 
  How should I do this? (Is this the effect of 'make -DNOCLEAN buildworld'?)
 
 That should work.  It will rebuild a few things that you could
 probably avoid, but in general it works fine.

Try to interrupt the buildworld during a compile as the compiler will
not create the output file until the end of the operation and a
restart will re-run the interrupted compile.

Some other operations leave the system in an indeterminate state. For
example, when creating a library, the library is created and then
modules are added. IF the process is re-started, make(1) sees the
library with an updated time-stamp and goes on without loading the
remaining modules.

R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: [EMAIL PROTECTED]  Phone: +1 510 486-8634

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Q: continuing interrupted 'make buildworld'

2002-10-01 Thread John Mills

Gary -

On 1 Oct 2002, Gary W. Swearingen wrote:

 IIRC, when I've done make buildkernel (maybe buildworld) a second
 time (eg, to do benchmarks with two BIOS settings), the thing rebuilt
 the whole kernel again.  I've always wondered why.  I thought make 
 was supposed to use old files when possible.

I suspect the target 'buildworld' has as a condition the target 'clean' or
something similar. I started looking for the target definitions, but
didn't find them.

Like, in a high-level 'Makefile':
...
buildworld: clean [...]

...

as it may also have:
...
installkernel: buildkernel [...]

...

 - John Mills


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Q: continuing interrupted 'make buildworld'

2002-10-01 Thread Kevin Oberman

 Date: Tue, 1 Oct 2002 17:03:31 -0400 (EDT)
 From: John Mills [EMAIL PROTECTED]
 Sender: [EMAIL PROTECTED]
 
 Gary -
 
 On 1 Oct 2002, Gary W. Swearingen wrote:
 
  IIRC, when I've done make buildkernel (maybe buildworld) a second
  time (eg, to do benchmarks with two BIOS settings), the thing rebuilt
  the whole kernel again.  I've always wondered why.  I thought make 
  was supposed to use old files when possible.
 
 I suspect the target 'buildworld' has as a condition the target 'clean' or
 something similar. I started looking for the target definitions, but
 didn't find them.

Look in .usr/src/Makefile.inc1

It's actually rather more complicated that just having clean as a
dependency for buildworld/buildkernel. The idea is maximum safety and
building something with the complexity of the operating system
without knowledge of the state of EVERYTHING in the build is more
dangerous, si the default for building wither the kernel or the world
is to clean most everything up before starting.

Just some honest paranoia. It's really ugly to build a new OS and
discover that some stuff won't work. (Try living with a bad libc.) A
corrupt kernel is even worse.

R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: [EMAIL PROTECTED]  Phone: +1 510 486-8634

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Q: continuing interrupted 'make buildworld'

2002-10-01 Thread Giorgos Keramidas

On 2002-10-01 13:48, Gary W. Swearingen [EMAIL PROTECTED] wrote:
 Giorgos Keramidas [EMAIL PROTECTED] writes:
  On 2002-09-30 17:31, John Mills [EMAIL PROTECTED] wrote:
   I would like to restart a 'make buildworld' without deleting or recreating
   any unnecesary files (i.e., after messing about in the source tree).
  
   How should I do this? (Is this the effect of 'make -DNOCLEAN buildworld'?)
 
  That should work.  It will rebuild a few things that you could
  probably avoid, but in general it works fine.

 IIRC, when I've done make buildkernel (maybe buildworld) a second
 time (eg, to do benchmarks with two BIOS settings), the thing rebuilt
 the whole kernel again.  I've always wondered why.  I thought make
 was supposed to use old files when possible.

The buildkernel target will run a make clean before building the new
kernel, in an effort to be on the safe side.  This will delete all the
old kernel's object files (anything that had been compiled before the
interruption took place).  Thus, all files will be compiled again...

This is exactly what the original question was about.  -DNOCLEAN
inhibits the Makefiles from running make clean.  I don't know if
this is a sufficiently explanatory answer, but anyone curious enough
can always look up the exact commands that the buildkernel make target
runs at /usr/src/Makefile.inc1 :-)

Giorgos.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Q: continuing interrupted 'make buildworld'

2002-10-01 Thread John Mills

Giorgos -

Thanks for the note.

On Wed, 2 Oct 2002, Giorgos Keramidas wrote:

 The buildkernel target will run a make clean before building the new
 kernel, in an effort to be on the safe side.  This will delete all the
 old kernel's object files (anything that had been compiled before the
 interruption took place).  Thus, all files will be compiled again...
 
 This is exactly what the original question was about.  -DNOCLEAN
 inhibits the Makefiles from running make clean.  I don't know if
 this is a sufficiently explanatory answer, but anyone curious enough
 can always look up the exact commands that the buildkernel make target
 runs at /usr/src/Makefile.inc1 :-)

I am in a bit of a quandry with my upgrade from RELENG_4_5 to RELENG_4_6.

 1. I got the not-unfamiliar compiler bomb-out on alloc_entry.c in
ncurses/ncurses/tminfo (or close).

 2. I backed off to RELENG_4_5 and got a clean cvsup and 'make buildworld'

 3. RELENG_4_5 and RELENG_4_6 have identical versions of the file on which 
cc bombed, and the version of gcc in 4_5 seems to be the latest, and
presumably the same as anticipated for 4_6. ['make' is a bit dated
(compared with what 'gcc' is claimed to need); perhaps I need to upgrade
that package.]

 4. I followed 'make buildworld' in RELENG_4_5 with a 'cvsup' to
RELENG_4_6 and a 'make -DNOCLEAN buildworld', which ran cleanly to
completion, as did 'make buildkernel'.
#$%!!!

My fear is that I'm running with part of my 'world' compiled in RELENG_4_5
sources and part in RELENG_4_6 sources. I guess as soon as I am running on
4_6, I will immediately remake 'world' and kernel and see how it goes.

I am seeing lots of log streaming by, but so far I don't think I've
actually learned anything.

Cheers, and thanks for the patient help.

 - John Mills


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Q: continuing interrupted 'make buildworld'

2002-09-30 Thread John Mills

Freebies -

I would like to restart a 'make buildworld' without deleting or recreating
any unnecesary files (i.e., after messing about in the source tree).

How should I do this? (Is this the effect of 'make -DNOCLEAN buildworld'?)

More generally, is there some outline or the _more_important_ 'make'
targets after one has done 'cvsup'? (By '_more_important_' I really mean
the ones a person is likely to use commonly.)

Also, where should I look to get an idea of the defined tags for 'cvsup'
(RELENG_4_5_??? for example)?

Thanks for any help to a newbie.

 - John Mills


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message