Subject: Re: SYS_statfs Problem When Updating 3.0
To: Christos Zoulas <christos@astron.com>
From: Brian Asemi <asemisldkfj@gmail.com>
List: netbsd-users
Date: 03/30/2006 12:49:15
Christos Zoulas wrote:
> In article <442B9ECA.6030201@gmail.com>,
> Brian Asemi  <asemisldkfj@gmail.com> wrote:
>> 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.
> 
> You need to find the previous good version of libc (libc.so.X.YYY) and
> link libc.so.12 to it both in /lib and /usr/lib. Then make cleandir in
> libc, and start again. It did not happen to your workstation probably
> because you never built there before and you started from a clean tree.
> 
> christos
> 
> 
Thanks, I'll try this.  It's kind of odd though, because I checked out a 
clean copy of the tree before I tried upgrading my server.

-Brian