Subject: Re: Make install failure in -current (several places)
To: Bill Studenmund <wrstuden@nas.nasa.gov>
From: Laine Stump <lainestump@rcn.com>
List: current-users
Date: 03/01/2000 18:46:59
Even better yet, just install the latest binary snapshot, *then* start
tracking -current. That's *much* easier than attempting to bootstrap from a
significantly older version using only sources. And since a kind soul
placed a new snapshot on the ftp site only 4 days ago, now is the perfect
time to do it.

At 12:18 PM 3/1/00 -0800, Bill Studenmund wrote:
>On Wed, 1 Mar 2000, Olaf Seibert wrote: 
>
>> For now, I am rerunning a make build (without removing the old results),
>> since the make install finished now, and never made or installed
>> $DESTDIR/usr/libexec/cc1 (and who knows what else).
>> 
>> # From http://www.netbsd.org/developers/releng/build-release.html
>> 
>> export MACHINE_ARCH=`uname -m`
>> # # The location of your source tree.
>> export BSDSRCDIR=/vol1/rhialto/sup/root/src
>> # # The location of the object files produced by the build.
>> export BSDSOBJIR=/vol1/rhialto/obj
>> # # For the initial build, which doesn't include those crypto
>> # # files which may not be exported from the US and Canada.
>> # EXPORTABLE_SYSTEM=1
>> # # These two aren't really necessary; they just make life
>> # # easier if/when you rebuild later.
>> export BUILD=1
>> export UPDATE=1
>> #
>> # # The following variables must be set in the environment;
>> # # /etc/mk.conf will not do!
>> #
>> # # Where the installed files go.
>> if [ "$DESTDIR" = "" ]
>> then
>>     export DESTDIR=/vol1/rhialto/destdir.${MACHINE_ARCH}
>> fi
>> # # Where the release goes (in release(7) format, of course).
>> # RELEASEDIR=/usr/home/cjs/netbsd/release
>> export RELEASEDIR=/vol1/rhialto/release.${MACHINE_ARCH}
>> 
>> make=/usr/bin/make
>> if [ -x $DESTDIR/$make ]; then
>>     make=$DESTDIR/$make
>>     echo "Using make=$make"
>> fi
>> if [ -x $DESTDIR/usr/bin/cc ]; then
>>     export CC=${DESTDIR}/usr/bin/cc
>>     export CXX=${DESTDIR}/usr/bin/c++
>>     echo "Using cc=$CC"
>> fi
>
>I really don't think you want this. If you want to go to -current, you
>need to upgrade your tools. i.e. just rebuild make and gcc by themselves,
>and install them. The problem with what you do above is that you will be
>trying to run binaries which are linked against the new libraries. Yes,
>you can change LD_LIBRARY_PATH, but that's still a hack. It means you are
>running programs which expect a newer kernel than you have installed
>(assuming that since you're not updating these tools, you're also not
>updating the kernel).
>
>> # gcc will simply not use this if it's not there:
>> # (and it will strip a trailing slash for some weird
>> # reason - as you can see by running gcc -v -print-search-dirs c.c
>> export GCC_EXEC_PREFIX=${DESTDIR}/usr/libexec//
>
>As above, you should really just upgrade gcc.
>
>> #export CFLAGS="$CFLAGS -B$GCC_EXEC_PREFIX"
>> #export CXXFLAGS="$CXXFLAGS -B$GCC_EXEC_PREFIX"
>> # Use newly built system libraries:
>> export LD_LIBRARY_PATH="${DESTDIR}/usr/lib:${LD_LIBRARY_PATH}"
>> # Use newly built system programs: ??
>> # export
PATH="${DESTDIR}/bin:${DESTDIR}/sbin:${DESTDIR}/usr/bin:${DESTDIR}/usr/sbin:
${PATH}"
>
>As above, you really shoudn't be using the new binaries yet. Compiles of
>the new code built against your old libraries are fine, but not ones built
>against the new libraries.
>
>Take care,
>
>Bill
>
>