Subject: Re: miniroot.fs too small
To: Greywolf <greywolf@starwolf.com>
From: Luke Mewburn <lukem@wasabisystems.com>
List: port-sparc
Date: 06/09/2002 02:46:12
On Fri, Jun 07, 2002 at 11:03:19PM -0700, Greywolf wrote:
  | # I'd be curious to know what you do on your systems to break the builds
  | # in so many ways, when in the majority of the cases it's been extremely
  | # difficult to reproduce your problems... :-/
  | 
  | I understand your frustration at not being able to reproduce the
  | problem, from a sysadmin's point of view.  I've run into it before, too,
  | so I'm sorry for being such a problem child.

There's something strange about your system.

I just cross build a sparc release (from i386) without hassle.
My cross-built kernels are 1/2 the size of your kernels.


As an experiment, I tried to reproduce the problems.

On a 1.6_BETA1 i386 system with a "fresh" netbsd-1-6 source tree mounted
read-only on /usr/src, I did
	# /etc/mk.conf /etc/mk.conf.off

	% env -i tcsh
		# to clear the environment
	% set path=(/bin /usr/bin)
	% set term=xterm
	% set home=/home/lukem
		# set some sane defaults

	% cd /usr/src
	% ./build.sh -m sparc -O /var/scratch/obj.sparc -d -D \
	    /var/scratch/obj.sparc/dest -R /var/scratch/obj.sparc/release -U

    It failed partway thru due to an unreleated "out of date source
    error" (twe.c failed to build in one of the kernels), so I cvs updated
    that, and did:
	./build.sh -m sparc -O /var/scratch/obj.sparc -d -D \
	    /var/scratch/obj.sparc/dest -R /var/scratch/obj.sparc/release -U -u
    (the extra -u to prevent cleandir) and the release completed successfully.

I.e, I had fresh source, mounted readonly.  I am building a release
unprivileged.  I don't have mk.conf or any environment variables set.
"Things work"


  | Now unless you can tell me that "tool" was ill-thought-out (clue:
  | ./build.sh -m sparc done without "tool -m sparc" DOES NOT BUILD FOR ME,
  | because I don't feel like permanently embedding the goddamn build bin
  | in my $PATH for every arch i might want to build), I'm at a total loss
  | for WHY this thing is blowing up on me, and more so as to why it works
  | for you.

There's no need to add the various tooldirs to the path.  You can also
share tooldirs between different target builds.  So, in your system
you could add
	-T /build/tools
and then just add /build/tools/bin to your path, or run
/build/tools/bin/nbmake-$MACHINE directly,  or just use build.sh and
don't add it at all.


  | [and I know someone's going to take umbrage at my frustration.  Deal.
  |  I am.]

Well, we could take umbrage.  Or we could just say "we spent a lot of
time trying to debug & reproduce this, had no luck, lost interest..."