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

Re: binary-or-shlib-defines-rpath



On Mon, Feb 11, 2002 at 12:04:51PM -0500, David Z Maze wrote:
> Kjetil Torgrim Homme <kjetilho@linpro.no> writes:
> > Gaetano Paolone <bigpaul@debian.org> writes:
> >> Lintian tells me this:
> >> 
> >> W: php-gtk: binary-or-shlib-defines-rpath
> >> ./usr/lib/php4/20010901/php_gtk.so /usr/X11R6/lib
> > 
> > This is a bug in lintian.  It should not complain about rpath being
> > set to directories which are part of Debian.
> 
> Yes, it should.  In this case, imagine GNU libc 3 comes out, Debian
> decides to migrate to it, and libraries linked against glibc 2 are
> moved to /usr/i386-glibc2-linux/lib or what not.  Without the rpath
> setting, ld.so will look for libraries in the new place, and
> everything's fine.  With the rpath setting, though, it looks in
> /usr/X11R6/lib instead, finds glibc3 libraries, and everything breaks
> (you get lossage like trying to link in both glibc2 and glibc3, for
> example).
> 
> Yes, this has actually happened with the libc5->glibc2 transition; the
> fix to "fvwm2 won't run at all" was "open up the binary with an editor
> and put a zero byte where the rpath setting begins".  This sucked.  :-)

Mmm, since you seem to know a lot about this rpath issue, maybe you could
answer my questions on this :

I package ocaml (Objective caml is a ML dialect, and the package contains
the compiler suite for it), and it recently started supporting shared
libraries for the stubs needed to bind C libraries into bytecode ocaml
executables run in a virtual machien (ocamlrun).

All such shared stub libraries are reported by lintian as having a rpath, but,
from my understanding of it (after having read your mail), this is ok, since
most probably the rpath is related to the way the virtual machine finds and
links these stub libraries with its own ld.so like functionality, and not
anything related to gcc or ld.so ?

If this analysis is correct, i suppose i can simply ignore those lintian
errors, or provide lintian overrides for them.

How can i check what is contained in the rpath of a shared library to make
sure it is ok to override this lintian error ?

Friendly,

Sven Luther



Reply to: