elf rpath不工作(无法打开共享对象文件:没有这样的文件或目录)

时间:2015-04-03 11:47:16

标签: c linux shared-libraries rpath

我试图让我的可执行文件从其自己的目录加载一些共享库,所以我决定将.添加到rpath。 但是当我尝试运行它时,它找不到.so。 以下是readelf -d myexec结果的感兴趣部分:

  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libtoload.so.1]
 0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
 0x00000001 (NEEDED)                     Shared library: [libm.so.6]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
 0x0000000f (RPATH)                      Library rpath: [$ORIGIN/.:.]

我的文件夹包含:

-rwxr-xr-x    1 root     root        97148 Apr  3 12:10 libtoload.so.1
-rwxr-xr-x    1 root     root         9873 Apr  3 10:10 myexec

错误:

/some/folder/ # ./myexec
./myexec: error while loading shared libraries: libtoload.so.1: cannot open shared object file: No such file or directory

注意:我无权访问LD_LIBRARY_PATH env变量(事实上它甚至不存在),而其他库都在/ lib文件夹中并且加载正常(但我可以&#39 ; t把libtoload.so.1)放在那里。我实际上是从另一台计算机上交叉编译可执行文件,只能访问目标系统上的一些命令(没有工具链,主要是busybox命令)。

编辑:/lib/ld-linux.so.3 - 图书馆路径./ ./myexec作品

0 个答案:

没有答案