09-26-07 12:34 PM
Package: libc6
Version: 2.6.1-1+b1
Severity: wishlist
Tags: patch
File: /usr/share/man/man8/ld.so.8.gz
Raphael Hertzog noticed in [1] that the openoffice.org package is using
the undocumented $ORIGIN feature of the linux ld.so. See [2] for a
documentation of that feature.
[1] http://thread.gmane.org/gmane.linux....general/119923
[2] http://linuxreviews.org/man/ld.so/
See the following irc query in #debian-devel:
12:42:05 < MadCoder> according to http://linuxreviews.org/man/ld.so/ it does
12:42:20 < MadCoder> (understands $ORIGIN)
12:43:04 < MadCoder> siretart: linux seems to support it
12:43:12 < MadCoder> it's just not in the man page
12:43:21 < MadCoder> let me look at ld code
12:43:21 < siretart> MadCoder: oh. then we should have that documented
12:43:31 < buxy> siretart: anyway, thanks for the info!
12:43:53 < MadCoder> siretart: yeah, stupid glibc maintainers
12:44:27 < _rene_> siretart: their goal is to get rid of LD_LIBRARY_PATH (wh
ich they currently use, too because some internally shipped libs like libxml
, python, .. (sic!) don't have the RPATH)
12:44:53 < _rene_> siretart: and they indeed used $ORIGIN since ever.
12:45:08 < MadCoder> siretart: the code shows that $ORIGIN and $PLATFORM are
supported
12:45:27 < MadCoder> and $LIB
12:45:31 < MadCoder> not sure what they do
12:45:40 < _rene_> MadCoder: ah, so it's an ld feature? good to know...
12:45:58 < MadCoder> yeah I'm looking at glibc-2.6/elf/dl-load.c right now :
)
12:46:02 * _rene_ didn't really look that deep into what $ORIGIN is for at
OOo
12:46:23 < MadCoder> and it seems that you can put $ORIGIN $PLATFORM and $LI
B in your rpath
12:46:38 < MadCoder> $ORIGIN is the absolute path the binary in question liv
e
12:46:44 < MadCoder> $PLATFORM is your elf platform
12:46:58 < siretart> MadCoder: cool!
12:47:10 < MadCoder> I'm not sure to understand what $LIB is yet
12:49:39 < MadCoder> siretart: and it seems linux supports it at least since
glibc 2.1
12:49:43 < MadCoder> so it's hardly new
12:50:15 < _rene_> .oO ( that also explains why OOos configure script explic
itely checks for glibc being >= 2.1 )
12:51:02 < MadCoder> probably
12:51:29 < MadCoder> $LIB is defined it seems to a "safe path where to find
libraries" when building the glibc
12:51:32 < MadCoder> it's odd
12:52:16 < MadCoder> though $ORIGIN and $PLATFORM are definitely nice featur
es
12:52:33 < MadCoder> buxy: so you shouldn't have such a hard time to deal wi
th it
12:53:00 < MadCoder> for a library path/to/libfoo.so $ORIGIN has to be repla
ced with path/to
12:54:25 < buxy> MadCoder: yeah, that's easy, however I think I'll ignore $P
LATFORM and $LIB for now
12:54:31 * siretart goes to file a bug about documenting the $ORIGIN featur
e
12:55:14 < MadCoder> $LIB is likely to be never used
--
System Information: Debian Release: lenny/sid APT prefers testing APT
policy: (500, 'testing'), (50, 'unstable') Architecture: i386 (x86_64)
Kernel: Linux 2.6.20.4-gernoth-64bit (SMP w/4 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages libc6 depends on:
ii libgcc1 1:4.2.1-4 GCC support library
libc6 recommends no packages.
-- no debconf information
--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.or
g
[ Post a follow-up to this message ]
|