Subject: Messy, messy upgrade from 1.0->current!
To: None <current-users@NetBSD.ORG>
From: Jake Hamby <jehamby@lightside.com>
List: current-users
Date: 09/23/1995 15:58:56
I know this has probably been mentioned before, and it certainly won't be 
the last, but I had a HORRIBLE time in the process of upgrading my 
SPARCstation 2 from NetBSD 1.0 to current (and I'm still compiling!)..  
Here are a couple of "gotchas" that I want to point out, perhaps the more 
incentive to release an official 1.x snapshot binary for all platforms 
and prevent more trouble from new users such as myself:

1) As I already posted (thanks to all who responded by the way!), libterm 
wouldn't compile because the new /usr/include/curses.h hadn't been installed 
yet.

2) Installing the library directory failed because the rule to nroff and 
install man pages was broken.  Installing the new /usr/share/mk fixed 
that, but again, here's an example of "make build" not installing things 
in the right order.

3) After installing all the new libraries, "ypbind" suddenly failed to 
work and I got locked out of NIS.  Rebooting didn't fix the problem, but 
recompiling and installing ypbind did.

4) About this time, another unusual occurence was that the rpc.statd on one 
of our SunOS boxes started complaining "cnttcp_create:  RPC: Program not 
registered", "rpc.statd: cannot talk to statd at slowaris".  I looked, 
and sure enough rpc.rstatd on the NetBSD box had coredumped.  Recompiling 
it stopped it from coredumping, but the message kept repeating on the 
SunOS box.  I think this problem resolved itself, but I'm not sure why.

5) I decided next to rebuild the kernel (even though I hadn't built 
everything else yet, I didn't want to wait through a "make world" and I 
thought problem #4 might be fixed by this).  Turns out the new "config" 
needed to be installed.  After that 'config' took my generic SUN4C file.

6) Then when I tried to actually compile the kernel, I found that "gawk" 
would repeatedly core dump, even on the simplest awk scripts.  This was by
far the worst problem of them all, because it seemed that no matter what I
tried, I could NOT fix the problem.  When I tried to rebuild gawk, "ld"
was screwed up so I had to rebuild that first.  But gawk kept crashing. 
Finally (after rebuilding 'ld', 'gas', and even gcc, to no avail), I
stumbled on the answer:  the math library was bad.  Recompiling libm (with
my custom-built GCC 2.7.0 in /usr/local) FINALLY fixed this problem.  The 
only explanation is that the GCC 2.4.5 from NetBSD-1.0 must've had buggy 
math compilation.

7) Finally, I was ready to build my kernel.  Turns out that some of the
macros in /usr/include/machine/varargs.h depend on __GCC_NEW_VARARGS__
being defined, something that, as far as I know, only the "NetBSD-hacked"
GCC 2.4.5 defines in the preprocessor.  This is also a SPARC-specific
#define, another bad idea IMHO.  I ended up using GCC 2.4.5 instead of
2.7.0 to be safe, especially since I'm remotely logging in, so if this
kernel hadn't worked, I'd be locked out of the machine for the whole
weekend.  Fortunately, it did, I can't wait to come in on Monday and see
if the Raster Console is any faster than Sun's crummy boot PROM console
(which is SO slow, I ended up doing 99% of my work from an xterm rlogin
from another Sun rather than suffer it, not NetBSD's fault of course!).  
Also the response time seems MUCH faster with the new kernel, which is nice.

Anyway, thanks for listening to me whine.  I am reasonably happy with
NetBSD now, but if I may say so, you could REALLY learn something from
FreeBSD.  I know the job is 10x as difficult since NetBSD supports so many
different platforms (a problem FreeBSD has never had since it only runs on
PC's), but if you'd like to see more users, for God's sake, make a new
release once in a while.  1.0 is almost a year old, and there are clearly
some significant benefits to running current.  It's too bad the process of
getting from 1.0 to current is SO traumatic.  I think that if you don't
make a new official release soon, a lot of would-be NetBSD users are going
to tear their hair out and abandon it from the experience... 

------------------------------------------------------------------------------
     Jake Hamby                         |   E-Mail:  jehamby@lightside.com
  Student, Cal Poly University, Pomona  |   System Administrator, JPL
------------------------------------------------------------------------------