OT: Looking for a cheap web hosting ISP
Rishi Viner
rishi at puredata.com.au
Fri Oct 21 03:24:20 EDT 2005
Just chipping in late with a possible work around for this libc version issue.
> -jailshell-2.05b$ ldd mc
> linux-gate.so.1 => (0xffffe000)
> libdl.so.2 => /lib/libdl.so.2 (0x00341000)
> libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4cba8000)
> libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4cc72000)
> libm.so.6 => /lib/tls/libm.so.6 (0x00347000)
> libc.so.6 => /lib/tls/libc.so.6 (0x00223000)
> /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x0020a000)
>
>
> There you see libc.so.6... the problem in Dans webhost is a wrong
> version of libC, if he uses ldd then search for the file, he'll not
> find it... the server is using an older version of libC, he is
> probably using GLIB2.2 and needs 2.3...
I work with a lot of linux machines here and have encountered this sort of
thing fairly often. Sometimes a linux distribution will package a "compat" or
compatibility version of a library when they ship their distro with a new
version of the library. The idea being that your older software will work
more easily on the new upgraded distro. So you may be able to install a
"compat" package to get it working. This is the best solution.
Assuming you can't do this on someone else's web server there is another
possibility... This assumes you get a message like "libc.so.5 is missing and
I need this library to run". Looking at these "compat" packages (often
installed as say 'libc-6.0-compat') I find that sometimes they just provide a
symbolic link from the old shared object ('so') library to the new one. For
example they will provide a link in the library directory from libc.so.5 ->
libc.so.6. This assumes that the new version of the library is backward
compatible... Dangerous assumption, but they often are. I have generally had
good success making these links when needed and the advantage is that you
might be able to create these symbolic links on the web server even if you
can't install software/libraries. If this is a possibility for you, you would
do something like this at the linux command line:
#ln -s /lib/tls/libc.so.5 /lib/tls/libc.so.6
which creates the link from the .5 to the .6.
Now if we do:
# ls -la /lib/tls/
you would see something with:
/lib/tls/libc.so.5 -> /lib/tls/libc.so.6
Now if your program accesses libc.so.5 it gets redirected to libc.so.6 without
knowing it.
I know this will only help in some specific circumstances, but hope it is
useful anyway.
Cheers,
--
Rishi Viner
--------------
PUREDATA
Australia
www.puredata.com.au
More information about the use-livecode
mailing list