sed problem

Rein Kadastik wigry at
Sun Aug 28 10:13:09 GMT 2005


Once upon a time I manage to upgrade one of my FreeBSD servers to some
arbitrary 4.6-STABLE release. It was summer 2002. Since then I am not
able to upgrade the system anymore as make buildworld will always
terminate while compiling ncurses (specifically compiling lib_gen.c). I
have no complaints about the stability os the system but being nt able
to apply securty patches is actually bad.

Finally I took a time to break the compilation procedure to a pieces and
found out that the sed command in script does not behave as
it should. Here is the sed command:

sed -e '/^\([a-z_][a-z_]*\) /s//\1 gen_/'

On working system, the input is transformed:
int something() -> int gen_something

on non_working system, the result remains the same:
int something() -> int something()

That is aso the reason, why build process fails.

I copied the sed binary from the working system over to this broken
system but no luck, the sed refuses to work crectly.

The ldd command shows that sed depends only from C library and of course
that part is different on working system and the broken system.

So I guess I need some advice here what to do next. I would not like to
make a full reinstall (otherwise I would have done that already long tme
ago). So the question is, How to fix that sed problem and if C library
update is neccessary to get the "make buildworld" working, how can I do
it without rendering my system useless.

-- wigry

More information about the freebsd-questions mailing list