Subject: Re: just a friendly warning
To: Mike Long <mikel@shore.net>
From: Open Carefully -- Contents Under Pressure <greywolf@starwolf.starwolf.com>
List: current-users
Date: 10/14/1997 19:41:15
Mike Long sez:
/*
* >Date: Mon, 13 Oct 1997 02:24:30 -0400 (EDT)
* >From: "Perry E. Metzger" <perry@piermont.com>
*
* >For a long time I've been lucky and building userland before a new
* >kernel hasn't hurt me too badly in general. Because of the new
* >getdents() system call, I badly screwed myself tonight doing just
* >that. In general, you MUST build a new kernel before building a new
* >libc. "The life you save might be your own...."
*
* I rebuild the kernel first whenever I see an update of
* src/sys/sys/syscall.h.
Good advice, I'll have to remember that.
I ended up building:
- ld
- as
- gcc
- compile_et
- make_cmds
- libc
- sh
and after that it died. Everything I ran with sh would dump core
after returning from the exec (dowaitproc or something is where
it died).
Caught it before I rebooted my system, restored the old sh (always keep
a backup sh around), and built a kernel successfully and rebooted.
But then ldconfig caught the new libc which kept on dying with
"SYS_getdents() undefined in libc.so.12.19".
Got rid of libc.so.12.19 and everything is fine again. Now I need to
rebuild libc and try again.
*
* I also build all my kernels with COMPAT_12, which helps ease these
* transitions.
I think I've got compat all the way back to 1.1. Plus 4.3.
Has the problem been fixed so that I don't need COMPAT_43 to make
ttyname(3) not return ENOTTY?
* --
* Mike Long <mikel@shore.net> http://www.shore.net/~mikel
* "Every normal man must be tempted at times to spit on his hands,
* hoist the black flag, and begin slitting throats." -- H.L. Mencken
*/
--*greywolf;
--
When the government fails to meet the needs and wishes of its populace,
it is the right AND THE DUTY of the people to _abolish_ it, and start anew.
-- Tom Jefferson (paraphrased)