[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
$ORIGIN substitution in RPATH
From: |
Bruno Haible |
Subject: |
$ORIGIN substitution in RPATH |
Date: |
Wed, 20 Feb 2019 01:25:06 +0100 |
User-agent: |
KMail/5.1.3 (Linux/4.4.0-141-generic; KDE/5.18.0; x86_64; ; ) |
Hi,
After reading http://lists.gnu.org/archive/html/bug-hurd/2011-08/msg00047.html
I was under the impression that $ORIGIN in -rpath arguments passed to the
linker would have the same effect under Hurd as on Linux/glibc. But it does
not work for me.
This is on Hurd 0.9 (using the image from
https://people.debian.org/~sthibault/hurd-i386/debian-hurd-20170115.img.gz ).
How to reproduce:
$ wget https://haible.de/bruno/gnu/libiconv-20190219.tar.gz
$ tar xfz libiconv-20190219.tar.gz
$ cd libiconv-20190219
$ ./configure --prefix=/tmp/inst1 --enable-relocatable
$ make
$ make install
$ cd /tmp
$ mv inst1 inst2
$ inst2/bin/iconv --help
inst2/bin/iconv: error while loading shared libraries: libiconv.so.2: cannot
open shared object file: No such file or directory
$ readelf -d inst2/bin/iconv
Dynamic section at offset 0x6404 contains 26 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libiconv.so.2]
0x0000000000000001 (NEEDED) Shared library: [libc.so.0.3]
0x000000000000001d (RUNPATH) Library runpath:
[$ORIGIN/../lib:/tmp/inst1/lib]
...
$ ld --version
GNU ld (GNU Binutils for Debian) 2.27.90.20170114
For comparison, the same procedure works on Linux. There it produces
$ readelf -d inst2/bin/iconv
Dynamic section at offset 0x6e08 contains 26 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libiconv.so.2]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000f (RPATH) Library rpath:
[$ORIGIN/../lib:/tmp/inst1/lib]
...
Is the difference due to the use of RUNPATH instead of RPATH (must be a
difference in the linker, I guess)? Or is $ORIGIN support in RUNPATH
not meant to work like the the one in RPATH?
Bruno
- $ORIGIN substitution in RPATH,
Bruno Haible <=
Re: $ORIGIN substitution in RPATH, Bruno Haible, 2019/02/23