Subject: Problems upgrading to 3.1_RC4
To: NetBSD Users <netbsd-users@NetBSD.org>
From: Louis Guillaume <lguillaume@berklee.edu>
List: netbsd-users
Date: 10/12/2006 12:48:23
Hi Everyone,

I began upgrading my NetBSD-3.0 system by starting a fresh, brand new
checkout of src/. So it was a nice, clean slate!

The tools, and release built with no trouble at all. However the install
and postinstall were not so lucky.

I ran into PR 25125 again ...

http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=25125

... Listed as non-critical, but could be a real stumbling-block for
someone trying to do this the first time. Fixing it is, unfortunately,
beyond my current abilities.

But that's not the real trouble, I know the workaround for this: Either
move or link destdir.i386 into obj/.

The real trouble comes from postinstall. I didn't carefully read the
output of `check' before running `fix' (my fault).

Several libraries are getting flagged as obsolete, and it breaks the
system completely. I had to recover by booting from another disk,
reinstalling binary sets and crossing my fingers that it was a
postinstall issue (lucky for me it was).

I tried to send-pr, but internal network hostname/domain name issues are
getting in the way. I'll pick that up again later.

Transcript is below...

Louis





make release started at:  Wed Oct 11 08:58:20 EDT 2006
make release finished at: Wed Oct 11 14:18:07 EDT 2006
===> Successful make release
===> build.sh started: Wed Oct 11 08:58:18 EDT 2006
===> build.sh ended:   Wed Oct 11 14:18:07 EDT 2006
===> Summary of results:
         build.sh command: ./build.sh -u -U -T /usr/obj/TOOLDIR.i386 release
         build.sh started: Wed Oct 11 08:58:18 EDT 2006
         MACHINE:          i386
         MACHINE_ARCH:     i386
         TOOLDIR path:     /usr/obj/TOOLDIR.i386
         DESTDIR path:     /usr/src/destdir.i386
         RELEASEDIR path:  /usr/src/releasedir
         makewrapper:      /usr/obj/TOOLDIR.i386/bin/nbmake-i386
         Updated /usr/obj/TOOLDIR.i386/bin/nbmake-i386
         Successful make release
         build.sh started: Wed Oct 11 08:58:18 EDT 2006
         build.sh ended:   Wed Oct 11 14:18:07 EDT 2006
===> .
maat $
maat $ uname -a
NetBSD maat.zabrico.com 3.0_RC4 NetBSD 3.0_RC4 (MAAT.MP) #0: Sat Dec 10
11:09:09 EST 2005
louis@shodo.berklee.net:/usr/obj/sys/arch/i386/compile/MAAT.MP i386
maat $ su -
Password:
Terminal type is vt100.

maat#
maat#
maat#
maat# cd /
maat# mv netbsd netbsd-3.0_RC4

maat# set -o vi
maat# ls -l /usr/src/releasedir/i386/binary/sets/
total 87608
-rw-r--r--  1 louis  wheel       138 Oct 11 14:17 BSDSUM
-rw-r--r--  1 louis  wheel       194 Oct 11 14:17 CKSUM
-rw-r--r--  1 louis  wheel       349 Oct 11 14:17 MD5
-rw-r--r--  1 louis  wheel      1042 Oct 11 14:17 SHA512
-rw-r--r--  1 louis  wheel       140 Oct 11 14:17 SYSVSUM
-rw-r--r--  1 louis  wheel  23056262 Oct 11 14:15 base.tgz
-rw-r--r--  1 louis  wheel  22024020 Oct 11 14:16 comp.tgz
-rw-r--r--  1 louis  wheel    176665 Oct 11 14:17 etc.tgz
-rw-r--r--  1 louis  wheel   3056110 Oct 11 14:17 games.tgz
-rw-r--r--  1 louis  wheel   3947116 Oct 11 14:05 kern-GENERIC.MP.tgz
-rw-r--r--  1 louis  wheel   3803664 Oct 11 14:05 kern-GENERIC.MPACPI.tgz
-rw-r--r--  1 louis  wheel   3898481 Oct 11 14:04 kern-GENERIC.tgz
-rw-r--r--  1 louis  wheel   3934567 Oct 11 14:04
kern-GENERIC_DIAGNOSTIC.tgz
-rw-r--r--  1 louis  wheel   2914794 Oct 11 14:04 kern-GENERIC_LAPTOP.tgz
-rw-r--r--  1 louis  wheel    895806 Oct 11 14:04 kern-GENERIC_PS2TINY.tgz
-rw-r--r--  1 louis  wheel    864230 Oct 11 14:04 kern-GENERIC_TINY.tgz
-rw-r--r--  1 louis  wheel   3823873 Oct 11 14:05 kern-XEN2_DOM0.tgz
-rw-r--r--  1 louis  wheel   1761889 Oct 11 14:05 kern-XEN2_DOMU.tgz
-rw-r--r--  1 louis  wheel   1763159 Oct 11 14:05 kern-XEN3_DOMU.tgz
-rw-r--r--  1 louis  wheel   8156874 Oct 11 14:17 man.tgz
-rw-r--r--  1 louis  wheel   3108446 Oct 11 14:17 misc.tgz
-rw-r--r--  1 louis  wheel   2143132 Oct 11 14:17 text.tgz
maat# pax -zrvpe -f /usr/src/releasedir/i386/binary/sets/kern-GENERIC.tgz
./netbsd
pax: ustar vol 1, 1 files, 8468480 bytes read, 0 bytes written in 1 secs
(8468480 bytes/sec)
maat#
maat# shutdown -r now
Shutdown NOW!
shutdown: [pid 4841]
maat#

*** FINAL System shutdown message from louis@maat.zabrico.com ***

System going down IMMEDIATELY
System shutdown time has arrived

About to run shutdown hooks...
Stopping afpd.
Waiting for PIDS: 653.
Stopping cron.
Waiting for PIDS: 786.
Stopping inetd.
Waiting for PIDS: 735.
Wed Oct 11 22:18:09 EDT 2006

Done running shutdown hooks.
Connection to maat closed by remote host.
Connection to maat closed.
dhcp-202 $ ssh louis@maat
louis@ZABRICO.COM's Password:
Last login: Wed Oct 11 22:14:54 2006 from dhcp-202.zabrico.com
NetBSD 3.1_RC4 (GENERIC) #0: Wed Oct 11 11:52:21 EDT 2006

Welcome to NetBSD!

maat $
maat $
maat $ pwd
/home/louis
maat $ su -
Password:
Terminal type is vt100.

maat# cd /usr/src
maat# ./build.sh -u -U -T /usr/obj/TOOLDIR.i386 install=/

===> build.sh command: ./build.sh -u -U -T /usr/obj/TOOLDIR.i386 install=/
===> build.sh started: Wed Oct 11 22:20:26 EDT 2006
===> MACHINE:          i386
===> MACHINE_ARCH:     i386
===> TOOLDIR path:     /usr/obj/TOOLDIR.i386
===> DESTDIR path:     /usr/src/obj/destdir.i386
===> RELEASEDIR path:  /usr/src/obj/releasedir
===> makewrapper:      /usr/obj/TOOLDIR.i386/bin/nbmake-i386
===> Updated /usr/obj/TOOLDIR.i386/bin/nbmake-i386
installsets ===> distrib/sets   (with: INSTALLDIR=/ INSTALLSETS=)
cd /usr/src/distrib/sets &&  DESTDIR=/usr/src/obj/destdir.i386
MACHINE=i386 MACHINE_ARCH=i386  CKSUM=/usr/obj/TOOLDIR.i386/bin/nbcksum
MAKE=/usr/obj/TOOLDIR.i386/bin/nbmake
MTREE=/usr/obj/TOOLDIR.i386/bin/nbmtree
MKTEMP=/usr/obj/TOOLDIR.i386/bin/nbmktemp
PAX=/usr/obj/TOOLDIR.i386/bin/nbpax HOST_SH=sh  sh ./maketars -d
/usr/src/obj/destdir.i386  -M /usr/src/obj/destdir.i386/METALOG -N
/usr/src/etc   -i /
./maketars: cannot create /usr/src/obj/destdir.i386/etc/mtree/set.base:
directory nonexistent
./maketars: cannot create /usr/src/obj/destdir.i386/etc/mtree/set.comp:
directory nonexistent
./maketars: cannot create /usr/src/obj/destdir.i386/etc/mtree/set.games:
directory nonexistent
./maketars: cannot create /usr/src/obj/destdir.i386/etc/mtree/set.man:
directory nonexistent
./maketars: cannot create /usr/src/obj/destdir.i386/etc/mtree/set.misc:
directory nonexistent
./maketars: cannot create /usr/src/obj/destdir.i386/etc/mtree/set.text:
directory nonexistent
Copying set base
cd: can't cd to /usr/src/obj/destdir.i386
./maketars: cannot open /usr/src/obj/destdir.i386/etc/mtree/set.base: no
such file
Copying set comp
cd: can't cd to /usr/src/obj/destdir.i386
./maketars: cannot open /usr/src/obj/destdir.i386/etc/mtree/set.comp: no
such file
Copying set games
cd: can't cd to /usr/src/obj/destdir.i386
./maketars: cannot open /usr/src/obj/destdir.i386/etc/mtree/set.games:
no such file
Copying set man
cd: can't cd to /usr/src/obj/destdir.i386
./maketars: cannot open /usr/src/obj/destdir.i386/etc/mtree/set.man: no
such file
Copying set misc
cd: can't cd to /usr/src/obj/destdir.i386
./maketars: cannot open /usr/src/obj/destdir.i386/etc/mtree/set.misc: no
such file
Copying set text
cd: can't cd to /usr/src/obj/destdir.i386
./maketars: cannot open /usr/src/obj/destdir.i386/etc/mtree/set.text: no
such file

*** Failed target:  installsets
*** Failed command: cd /usr/src/distrib/sets &&
DESTDIR=/usr/src/obj/destdir.i386 MACHINE=i386 MACHINE_ARCH=i386
CKSUM=/usr/obj/TOOLDIR.i386/bin/nbcksum
MAKE=/usr/obj/TOOLDIR.i386/bin/nbmake
MTREE=/usr/obj/TOOLDIR.i386/bin/nbmtree
MKTEMP=/usr/obj/TOOLDIR.i386/bin/nbmktemp
PAX=/usr/obj/TOOLDIR.i386/bin/nbpax HOST_SH=sh sh ./maketars -d
/usr/src/obj/destdir.i386 -M /usr/src/obj/destdir.i386/METALOG -N
/usr/src/etc -i /
*** Error code 12

Stop.
nbmake: stopped in /usr/src/distrib/sets

*** Failed target:  installworld
*** Failed command: _makedirtarget() { dir="$1"; shift; target="$1";
shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this="";
real="/usr/src" ;; *) this="${dir}/"; real="/usr/src/${dir}" ;; esac;
show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $@)}"; cd
"${real}" && /usr/obj/TOOLDIR.i386/bin/nbmake _THISDIR_="${this}" "$@"
${target}; }; _makedirtarget distrib/sets installsets INSTALLDIR=/
INSTALLSETS=
*** Error code 1

Stop.
nbmake: stopped in /usr/src

ERROR: Failed to make installworld to /
*** BUILD ABORTED ***


maat# ln -s /usr/src/destdir.i386 /usr/obj/destdir.i386

maat# ls -l /usr/obj
total 44
drwxr-xr-x   10 louis  wheel   512 Oct 11 00:23 TOOLDIR.i386
drwxr-xr-x   35 louis  wheel   512 Oct 11 08:59 bin
lrwxr-xr-x    1 root   wheel    21 Oct 11 22:24 destdir.i386 ->
/usr/src/destdir.i386
drwxr-xr-x    5 louis  wheel   512 Oct 11 09:02 distrib
drwxr-xr-x    3 louis  wheel   512 Oct 11 11:36 etc
drwxr-xr-x   47 louis  wheel  1024 Oct 11 09:00 games
drwxr-xr-x    6 louis  wheel   512 Oct 11 08:59 gnu
drwxr-xr-x    3 louis  wheel   512 Oct 11 08:58 include
drwxr-xr-x   63 louis  wheel  1536 Oct 11 08:58 lib
drwxr-xr-x   32 louis  wheel  1024 Oct 11 09:00 libexec
drwxr-xr-x    7 louis  wheel   512 Oct 11 09:02 regress
drwxr-xr-x  121 louis  wheel  8192 Oct 11 11:35 rescue
drwxr-xr-x   87 louis  wheel  2048 Oct 11 09:00 sbin
drwxr-xr-x   10 louis  wheel   512 Oct 11 09:01 share
drwxr-xr-x    4 louis  wheel   512 Oct 11 09:01 sys
drwxr-xr-x   50 louis  wheel  1024 Oct 11 00:08 tools
drwxr-xr-x  227 louis  wheel  4096 Oct 11 09:00 usr.bin
drwxr-xr-x  146 louis  wheel  2560 Oct 11 09:01 usr.sbin
maat#
maat#
maat#
maat# set -o vi
maat# ./build.sh -u -U -T /usr/obj/TOOLDIR.i386 install=/
===> build.sh command: ./build.sh -u -U -T /usr/obj/TOOLDIR.i386 install=/
===> build.sh started: Wed Oct 11 22:24:53 EDT 2006
===> MACHINE:          i386
===> MACHINE_ARCH:     i386
===> TOOLDIR path:     /usr/obj/TOOLDIR.i386
===> DESTDIR path:     /usr/src/obj/destdir.i386
===> RELEASEDIR path:  /usr/src/obj/releasedir
===> makewrapper:      /usr/obj/TOOLDIR.i386/bin/nbmake-i386
===> Updated /usr/obj/TOOLDIR.i386/bin/nbmake-i386
installsets ===> distrib/sets   (with: INSTALLDIR=/ INSTALLSETS=)
cd /usr/src/distrib/sets &&  DESTDIR=/usr/src/obj/destdir.i386
MACHINE=i386 MACHINE_ARCH=i386  CKSUM=/usr/obj/TOOLDIR.i386/bin/nbcksum
MAKE=/usr/obj/TOOLDIR.i386/bin/nbmake
MTREE=/usr/obj/TOOLDIR.i386/bin/nbmtree
MKTEMP=/usr/obj/TOOLDIR.i386/bin/nbmktemp
PAX=/usr/obj/TOOLDIR.i386/bin/nbpax HOST_SH=sh  sh ./maketars -d
/usr/src/obj/destdir.i386  -M /usr/src/obj/destdir.i386/METALOG -N
/usr/src/etc   -i /
Copying set base
Copying set comp
Copying set games
Copying set man
Copying set misc
Copying set text
postinstall-check ===> .        (with: DESTDIR=/)
   === Post installation checks ===
sh /usr/src/usr.sbin/postinstall/postinstall -s /usr/src -d // check
Source directory: /usr/src
Target directory: //
defaults check:
        /usr/src/etc/defaults/rc.conf != ///etc/defaults/rc.conf
        /usr/src/etc/defaults/security.conf != ///etc/defaults/security.conf
gid check:
hosts check:
makedev check:
        /tmp/_postinstall.5469.0/MAKEDEV != ///dev/MAKEDEV
mtree check:
        /usr/src/etc/mtree/special != ///etc/mtree/special
named check:
pam check:
periodic check:
        /usr/src/etc/security != ///etc/security
postfix check:
        /usr/src/gnu/dist/postfix/conf/postfix-script !=
///etc/postfix/postfix-script
        /usr/src/gnu/dist/postfix/conf/post-install !=
///etc/postfix/post-install
        /usr/src/gnu/dist/postfix/conf/postfix-files !=
///etc/postfix/postfix-files
rc check:
        /usr/src/etc/rc.subr != ///etc/rc.subr
        /usr/src/etc/rc.d/fsck != ///etc/rc.d/fsck
sendmail check:
ssh check:
wscons check:
x11 check:
uid check:
obsolete check:
        Remove obsolete file ///usr/share/man/man8/dnssec-signkey.8
        Remove obsolete file ///usr/share/man/man8/dnssec-makekeyset.8
        Remove obsolete file ///usr/share/man/cat8/dnssec-signkey.0
        Remove obsolete file ///usr/share/man/cat8/dnssec-makekeyset.0
        Remove obsolete file
///usr/share/doc/html/postfix/ULTRIX_README.html
        Remove obsolete file
///usr/share/doc/html/postfix/PACKAGE_README.html
        Remove obsolete file ///usr/share/doc/html/postfix/LINUX_README.html
        Remove obsolete file ///usr/share/doc/html/postfix/CYRUS_README.html
        Remove obsolete file ///usr/share/doc/html/postfix/CDB_README.html
        Remove obsolete file ///usr/sbin/dnssec-signkey
        Remove obsolete file ///usr/sbin/dnssec-makekeyset
        Remove obsolete file ///lib/libcrypto.so.2.1
        Remove obsolete file ///lib/libm.so.0.2
        Remove obsolete file ///lib/libm387.so.0.0
        Remove obsolete file ///lib/libtermcap.so.0.5
        Remove obsolete link ///lib/libtermlib.so.0.5
        Remove obsolete file ///lib/libutil.so.7.6
        Remove obsolete link ///usr/lib/libc.so.12.128.2
        Remove obsolete link ///usr/lib/libc.so.12.129
        Remove obsolete link ///usr/lib/libcrypto.so.2.1
        Remove obsolete link ///usr/lib/libm.so.0.2
        Remove obsolete link ///usr/lib/libm387.so.0.0
        Remove obsolete file ///usr/lib/libpcap.so.1.4
        Remove obsolete file ///usr/lib/libssh.so.1.0
        Remove obsolete file ///usr/lib/libssh.so.1.0.1
        Remove obsolete link ///usr/lib/libtermcap.so.0.5
        Remove obsolete link ///usr/lib/libtermlib.so.0.5
        Remove obsolete link ///usr/lib/libutil.so.7.6
postinstall checks passed: gid hosts named pam sendmail ssh wscons x11 uid
postinstall checks failed: defaults makedev mtree periodic postfix rc
obsolete
To fix, run:
    /usr/src/usr.sbin/postinstall/postinstall -s /usr/src -d // fix
defaults makedev mtree periodic postfix rc obsolete
   ================================
make installworld started at:  Wed Oct 11 22:24:55 EDT 2006
make installworld finished at: Wed Oct 11 22:41:54 EDT 2006
===> Successful installworld to /
===> build.sh started: Wed Oct 11 22:24:53 EDT 2006
===> build.sh ended:   Wed Oct 11 22:41:54 EDT 2006
===> Summary of results:
         build.sh command: ./build.sh -u -U -T /usr/obj/TOOLDIR.i386
install=/
         build.sh started: Wed Oct 11 22:24:53 EDT 2006
         MACHINE:          i386
         MACHINE_ARCH:     i386
         TOOLDIR path:     /usr/obj/TOOLDIR.i386
         DESTDIR path:     /usr/src/obj/destdir.i386
         RELEASEDIR path:  /usr/src/obj/releasedir
         makewrapper:      /usr/obj/TOOLDIR.i386/bin/nbmake-i386
         Updated /usr/obj/TOOLDIR.i386/bin/nbmake-i386
         Successful installworld to /
         build.sh started: Wed Oct 11 22:24:53 EDT 2006
         build.sh ended:   Wed Oct 11 22:41:54 EDT 2006
===> .

maat# usr/src -d // fix defaults makedev mtree periodic postfix rc
obsolete                       <
Source directory: /usr/src
Target directory: //
defaults fix:
        Copied /usr/src/etc/defaults/rc.conf to ///etc/defaults/rc.conf
        Copied /usr/src/etc/defaults/security.conf to
///etc/defaults/security.conf
makedev fix:
        Copied /tmp/_postinstall.10987.0/MAKEDEV to ///dev/MAKEDEV
mtree fix:
        Copied /usr/src/etc/mtree/special to ///etc/mtree/special
periodic fix:
        Copied /usr/src/etc/security to ///etc/security
postfix fix:
        Copied /usr/src/gnu/dist/postfix/conf/postfix-script to
///etc/postfix/postfix-script
        Copied /usr/src/gnu/dist/postfix/conf/post-install to
///etc/postfix/post-install
        Copied /usr/src/gnu/dist/postfix/conf/postfix-files to
///etc/postfix/postfix-files
rc fix:
        Copied /usr/src/etc/rc.subr to ///etc/rc.subr
        Copied /usr/src/etc/rc.d/fsck to ///etc/rc.d/fsck
obsolete fix:
        Removed obsolete file ///usr/share/man/man8/dnssec-signkey.8
        Removed obsolete file ///usr/share/man/man8/dnssec-makekeyset.8
        Removed obsolete file ///usr/share/man/cat8/dnssec-signkey.0
        Removed obsolete file ///usr/share/man/cat8/dnssec-makekeyset.0
        Removed obsolete file
///usr/share/doc/html/postfix/ULTRIX_README.html
        Removed obsolete file
///usr/share/doc/html/postfix/PACKAGE_README.html
        Removed obsolete file
///usr/share/doc/html/postfix/LINUX_README.html
        Removed obsolete file
///usr/share/doc/html/postfix/CYRUS_README.html
        Removed obsolete file ///usr/share/doc/html/postfix/CDB_README.html
        Removed obsolete file ///usr/sbin/dnssec-signkey
        Removed obsolete file ///usr/sbin/dnssec-makekeyset
        Removed obsolete file ///lib/libcrypto.so.2.1
could not load libm.so.0 for libm.so.0  Removed obsolete file
///lib/libm.so.0.2

        Removed obsolete file ///lib/libm387.so.0.0
could not load libm387.so.0 for libm.so.0
could not load libm.so.0 for libm.so.0
        Removed obsolete file ///lib/libtermcap.so.0.5
Shared object "libm.so.0" not found
        Removed obsolete link ///lib/libtermlib.so.0.5
        Removed obsolete file ///lib/libutil.so.7.6
        Removed obsolete link ///usr/lib/libc.so.12.128.2
        Removed obsolete link ///usr/lib/libc.so.12.129
        Removed obsolete link ///usr/lib/libcrypto.so.2.1
        Removed obsolete link ///usr/lib/libm.so.0.2
        Removed obsolete link ///usr/lib/libm387.so.0.0
        Removed obsolete file ///usr/lib/libpcap.so.1.4
        Removed obsolete file ///usr/lib/libssh.so.1.0
        Removed obsolete file ///usr/lib/libssh.so.1.0.1
        Removed obsolete link ///usr/lib/libtermcap.so.0.5
        Removed obsolete link ///usr/lib/libtermlib.so.0.5
        Removed obsolete link ///usr/lib/libutil.so.7.6
postinstall fixes passed: defaults makedev mtree periodic postfix rc
obsolete
postinstall fixes failed:
maat#
maat#
maat# etcupdate
Shared object "libtermcap.so.0" not found
maat#
maat# shutdown -r now
Shutdown NOW!
shutdown: [pid 12338]
maat# Shared object "libtermcap.so.0" not found

maat# shutdown -r now
Shutdown NOW!
shutdown: [pid 10447]
maat# Shared object "libtermcap.so.0" not found
^C
maat#
maat#
maat# ps auxww|more
could not load libm387.so.0 for libm.so.0
could not load libm.so.0 for libm.so.0
Shared object "libm.so.0" not foundShared object "libtermcap.so.0" not found

maat#
maat#
maat#
maat# reboot
Shared object "libutil.so.7" not found
maat#
maat#
maat#
maat#
maat# reboot
Shared object "libutil.so.7" not found
maat# halt
Shared object "libutil.so.7" not found
maat# reboot
Shared object "libutil.so.7" not found
maat# reboot
Shared object "libutil.so.7" not found
maat# shutdown -f now
Shutdown NOW!
shutdown: [pid 10064]
maat# Shared object "libtermcap.so.0" not found