[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: The broken libjpeg-6b is in RH 5.1



[Please feel free to forward this to an appropriate RH contact address]

On Wed, May 27, 1998 at 01:15:54AM -0400, Steve Dunham wrote:
> Red Hat also uses the (buggy) stock version of libtool, so any
> libtool-generated library is "static" (doesn't reference any other shared
> library).

There are two issues with libtool:

- libtool does not support the concept of inter-library dependencies
  (see its author's page about this at 
  http://www.profitpress.com/libtool/deplibs.html - he has valid reasons,
  but it is unfortunate for Linux).
  Having inter-library dependencies offers two benefits:
  - The dynamic loaded (ld.so) has more information for use in deciding
    against which shared library images a binary is loaded.
    (This information is recorded in the NEEDED records of the dynamic
    section of the library images).
  - [fringe benefit] When a library, e.g. LessTif, is linked with
    inter-library dependencies (a la gcc -shared -o libXm.so -lX11 -lc),
    it is not necessary to specify its dependents when compiling with
    it (gcc -o foo foo.c -lXm will suffice).
  In Debian, packages are built with inter-library dependencies (mostly
  by changing configure.in and regenerating configure).

- Recent versions of libtool compile everything with an explicit -rpath
  setting. Binaries built with it cannot be run on systems that have the
  same libraries, but in different locations.
  An example of this problematic behaviour is with Red Hat's TriTeal CDE
  1.2 on Debian "hamm" systems: the CDE is libc5, and was compiled -rpath
  /usr/X11R6/lib . Thus, on a Debian "hamm" system, ld.so only looks for
  the X libraries there, and thinks it finds them, but they are the wrong 
  ones: on Debian "hamm" (and thus, Debian 2.0), /usr/X11R6/lib contains
  X libraries for use with libc6. The result of this is that many CDE
  applications dump core and require editing of their binaries (replacing
  the RPATH in the Dynamic Section (see objdump --all-headers) with NULLs)
  before they can be run successfully.
  
Ray
-- 
LEADERSHIP  A form of self-preservation exhibited by people with auto-
destructive imaginations in order to ensure that when it comes to the crunch 
it'll be someone else's bones which go crack and not their own.       
- The Hipcrime Vocab by Chad C. Mulligan    


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org


Reply to: