lock program in grass4.2 - "file not found" even though it's there

Dear Scott, hi all having this problem:

I think I have an idea for the "lock - file not found" problem:

- People using Linux based on libc.so.5 must use GRASS 4.2.1 (V.20)
- People using Linux based on libc.so.6 can use GRASS 4.2.1 (V.21)

This libc is a major Linux library, it's structure was changed.
I will support libc.so.6 in future, but the old GRASS version
shall stay for some more time on my server. libc.so.6 is equivalent
to glibc. The error message is surprising, indeed!

What to do?

libc.so.6 based systems are: Redhat 5.x, SuSe 6.x
    -> go for GRASS 4.2.1 (V.21) or newer distributions

libc.so.5 based systems are: Redhat 4.x, SuSe 5.x, COL 1.3 (Caldera)
    -> go for GRASS 4.2.1 (V.21) or newer distributions

Or you compile the source code yourself, then you avoid the
problem.

    Markus Neteler

--- The proof:

well, there seems to be a problem with Caldera Linux.
Does it use libc.so.6? If not, this may result in
this lock problem.

This version (1.3) of COL uses libc.so.5

Thanks to your help; I got 4.2.1v20 to run!

[...]

Hi Markus,
Please correct me if I am wrong.

Markus Neteler wrote:

libc.so.5 based systems are: Redhat 4.x, SuSe 5.x, COL 1.3 (Caldera)
    -> go for GRASS 4.2.1 (V.21) or newer distributions

That should read GRASS 4.2.1 (V.20), isn't it?

Or you compile the source code yourself, then you avoid the
problem.

If one is compiling from source on libc.so.5 based systems the
CURSES = -lncurses $(TERMLIB)
line in the "../src421/src/CMD/head/linux" file also needs to
be edited as below;

CURSES = -lcurses $(TERMLIB)

since libc.so.5 based systems normally curses instead of ncurses.
I just compiled from the source file but needed to make the above
change on my libc.so.5 based system.

Venkatesh Raghavan