Version française
Home     About     Download     Resources     Contact us    
Browse thread
libc.so.6
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Thomas Fischbacher <Thomas.Fischbacher@P...>
Subject: Re: [Caml-list] libc.so.6

On Mon, 3 Jan 2005, Ignacio Alvarez-Hamelin wrote:

> I have some problems with this library because I compiled a program in one
> computer with version 2.3.3 and I need tu run my program in other computer
> with an ancient version of libc.so.6 (it seems be the 2.0, anyway is from 
> Jan 19 2001). I have not access to the last computer then it is not
> possible to recompile my program in ocaml with the ancient version. 
> Somebody knows how to solve this problem? 

Well, there is a workaround, but I would never call this a solution:

assuming you are using linux, copy /lib/ld-linux.so.2, libc, and all the 
other libraries you need to a dedicated directory DIR and start your 
program with a wrapper script that sets LD_LIBRARY_PATH to $DIR and 
then calls $DIR/ld-linux.so.2 <your-program>...

Dear children on this list, DO NOT TRY THIS AT HOME. This method _sucks_. 
Sometimes, it is the fastest and easiest way to get software where one 
experiences such problems to run esp. on not too well maintained or 
otherwise braindead systems (people using CMU CL on redhat derivatives 
might know what I mean...), but it is at best an evil evil ugly workaround 
that does not work too well with run-time dynamic linking (libdl) and 
causes a score of other problems.

Unfortunately, there ARE some well known and widespread libraries in use 
in the physics world that use just this technique to do utterly evil stuff 
like overriding X libraries with broken old versions with known security 
problems - only to get a known, homogeneous environment across a variety 
of platforms. In one particular instance, install scripts like to even put 
. permanently into LD_LIBRARY_PATH. Again, DO NOT DO THIS WITH SOFTWARE 
YOU HAND OVER TO OTHER PEOPLE. There are better solutions to achieve the 
same effect: please use a properly designed rootkit instead.

-- 
regards,               tf@cip.physik.uni-muenchen.de              (o_
 Thomas Fischbacher -  http://www.cip.physik.uni-muenchen.de/~tf  //\
(lambda (n) ((lambda (p q r) (p p q r)) (lambda (g x y)           V_/_
(if (= x 0) y (g g (- x 1) (* x y)))) n 1))                  (Debian GNU)