如何确定可执行文件在哪里搜索共享库?

丹·罗斯|

我知道我有该库,但是可执行文件找不到。如果我知道它在哪里搜索,我可以在希望找到该库的地方创建一个符号链接。

$ ~/Apps/simutrans/simutrans
/home/dan/Apps/simutrans/simutrans: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file: No such file or directory

$ locate libbz2
...
/lib/x86_64-linux-gnu/libbz2.so.1
/lib/x86_64-linux-gnu/libbz2.so.1.0
/lib/x86_64-linux-gnu/libbz2.so.1.0.4
/usr/lib/x86_64-linux-gnu/libbz2.a
/usr/lib/x86_64-linux-gnu/libbz2.so
...

显然,可执行文件不是/etc/ld.so.conf*用来查找库的;如果是这样,那么它将找到lib:

$ cat /etc/ld.so.conf.d/x86_64-linux-gnu.conf 
# Multiarch support
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu

readelf如所述,使用来检查可执行文件系统将哪里搜索动态库?,没有显示RUNPATH需要查找库时会显示的条目。

托马斯·迪基

假设您的程序与当前用户一起运行(没有setuid等),则可以使用strace来获取此信息,例如,

strace -o foo.out ~/Apps/simutrans/simutrans

并在输出文件中查找open呼叫。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

“ START”在哪里搜索可执行文件?

来自分类Dev

如何帮助可执行文件找到共享库?

来自分类Dev

可执行文件在运行时在哪里寻找共享对象?

来自分类Dev

可执行文件的指令在哪里?

来自分类Dev

Homebrew在哪里安装Postgres可执行文件?

来自分类Dev

Ubuntu上的PHP可执行文件在哪里?

来自分类Dev

本地可执行文件应放在哪里?

来自分类Dev

Emacs:可执行文件在哪里更好?

来自分类Dev

Vuze的“可执行文件”在哪里?

来自分类Dev

Linux 可执行文件格式。规范在哪里?

来自分类Dev

Windows从哪里开始搜索可执行文件?

来自分类Dev

Linux:可执行文件找不到共享库

来自分类Dev

更改Linux可执行文件的特定共享库

来自分类Dev

如何确定Dash搜索中列出的程序的可执行文件名称?

来自分类Dev

Windows如何确定要运行的可执行文件

来自分类Dev

为什么某些共享库是可执行文件,为什么以及如何运行?

来自分类Dev

如何扫描可执行文件的搜索路径

来自分类Dev

如何扫描可执行文件的搜索路径

来自分类Dev

搜索可执行文件

来自分类Dev

如何强制可执行文件链接动态库

来自分类Dev

链接可执行文件中的共享库与另一个共享库

来自分类Dev

在哪里可以找到文件系统中的应用程序可执行文件?

来自分类Dev

在哪里可以找到文件系统中的应用程序可执行文件?

来自分类Dev

Linux中Ruby可执行文件和gem.bat的路径在哪里?

来自分类Dev

在哪里可以找到Visual Studio Express可执行文件?

来自分类Dev

在哪里可以找到(并运行)使用阴谋沙箱编译的可执行文件?

来自分类Dev

在哪里可以找到Meteor为WebStorm插件安装的PhoneGap / Cordova可执行文件?

来自分类Dev

Windows 7随附的游戏的可执行文件在哪里?

来自分类Dev

ELF可执行文件的哪些部分被加载到内存中,在哪里?

Related 相关文章

  1. 1

    “ START”在哪里搜索可执行文件?

  2. 2

    如何帮助可执行文件找到共享库?

  3. 3

    可执行文件在运行时在哪里寻找共享对象?

  4. 4

    可执行文件的指令在哪里?

  5. 5

    Homebrew在哪里安装Postgres可执行文件?

  6. 6

    Ubuntu上的PHP可执行文件在哪里?

  7. 7

    本地可执行文件应放在哪里?

  8. 8

    Emacs:可执行文件在哪里更好?

  9. 9

    Vuze的“可执行文件”在哪里?

  10. 10

    Linux 可执行文件格式。规范在哪里?

  11. 11

    Windows从哪里开始搜索可执行文件?

  12. 12

    Linux:可执行文件找不到共享库

  13. 13

    更改Linux可执行文件的特定共享库

  14. 14

    如何确定Dash搜索中列出的程序的可执行文件名称?

  15. 15

    Windows如何确定要运行的可执行文件

  16. 16

    为什么某些共享库是可执行文件,为什么以及如何运行?

  17. 17

    如何扫描可执行文件的搜索路径

  18. 18

    如何扫描可执行文件的搜索路径

  19. 19

    搜索可执行文件

  20. 20

    如何强制可执行文件链接动态库

  21. 21

    链接可执行文件中的共享库与另一个共享库

  22. 22

    在哪里可以找到文件系统中的应用程序可执行文件?

  23. 23

    在哪里可以找到文件系统中的应用程序可执行文件?

  24. 24

    Linux中Ruby可执行文件和gem.bat的路径在哪里?

  25. 25

    在哪里可以找到Visual Studio Express可执行文件?

  26. 26

    在哪里可以找到(并运行)使用阴谋沙箱编译的可执行文件?

  27. 27

    在哪里可以找到Meteor为WebStorm插件安装的PhoneGap / Cordova可执行文件?

  28. 28

    Windows 7随附的游戏的可执行文件在哪里?

  29. 29

    ELF可执行文件的哪些部分被加载到内存中,在哪里?

热门标签

归档