Subject: SYS_statfs Problem When Updating 3.0
To: None <netbsd-users@NetBSD.org>
From: Brian Asemi <asemisldkfj@gmail.com>
List: netbsd-users
Date: 03/30/2006 04:03:06
I got a bunch of security advisories in my e-mail today, so I figured 
I'd run a full upgrade on both of my NetBSD boxes.  On the ./build.sh 
distribution command, the upgrade on my server failed.  This same exact 
problem happened when I tried to do a source upgrade from 2.1 to 3.0, 
and I did a binary upgrade with sysinst to fix it.

The error occurred here:

nbmake: don't know how to make /usr/src/lib/libc/net/res_mkquery.c. Stop

My system spit out a bunch of errors like this, and I get this error 
when I try to run any command as well.

/lib/libc.so.12: Undefined symbol "SYS_statfs" (symnum = 450)

I found reference to libc and statfs in /usr/src/UPDATING, but from 
April of 2004, almost two years ago!  Here is the text from UPDATING:

20040418:
	statfs(2) and friends have been replaced with statvfs(2). Before
	installing a newly build userland make sure that you are running
	a newly built kernel with COMPAT_20 set. In addition your libc
	build might not work (undefined SYS_statfs symbol) because make
	clean does not know how to remove files it does not know about
	anymore. Manually remove all generated .S sources and objects
	from the libc build directory.

This sounds just like what is affecting me, and I guess I'm just curious 
why?  I was running 3.0 and upgraded my source tree with -r netbsd-3. 
Seems odd, eh?

Another thing to mention is that this didn't happen on my workstation 
when I upgraded from 2.1 to 3.0 like it did to my server.  I'm a bit 
frightened to try the upgrade though, because my workstation is more 
important than my server :).

Any hints would be greatly appreciated.

-Brian