LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1036|回复: 1

对一个可执行二进制文件(elf)而言,它搜索.so文件的路径由什么决定?

[复制链接]
发表于 2007-12-3 15:23:25 | 显示全部楼层 |阅读模式
装了 TeXlive 2007,执行 xdvi 出错:
bash-3.00$ xdvi
ld.so.1: xdvi-xaw.bin: 致命的: libiconv.so.2: 打开失败: 无此文件或目录

然后看了一下:
bash-3.00$ ldd xdvi-xaw.bin (xdvi是个脚本,调用 xdvi-xaw.bin)
        libXaw.so.5 =>   /usr/openwin/lib/libXaw.so.5
        libXmu.so.4 =>   /usr/openwin/lib/libXmu.so.4
        libXt.so.4 =>    /usr/openwin/lib/libXt.so.4
        libSM.so.6 =>    /usr/openwin/lib/libSM.so.6
        libICE.so.6 =>   /usr/openwin/lib/libICE.so.6
        libXp.so.1 =>    /usr/openwin/lib/libXp.so.1
        libXext.so.0 =>  /usr/openwin/lib/libXext.so.0
        libXpm.so.4 =>   /usr/openwin/lib/libXpm.so.4
        libX11.so.4 =>   /usr/openwin/lib/libX11.so.4
        libsocket.so.1 =>        /lib/libsocket.so.1
        libnsl.so.1 =>   /lib/libnsl.so.1
        libiconv.so.2 =>         (文件没有发现)
        libm.so.2 =>     /lib/libm.so.2
        libc.so.1 =>     /lib/libc.so.1
        libdl.so.1 =>    /lib/libdl.so.1
        libmp.so.2 =>    /lib/libmp.so.2
        libmd.so.1 =>    /lib/libmd.so.1
        libscf.so.1 =>   /lib/libscf.so.1
        libdoor.so.1 =>  /lib/libdoor.so.1
        libuutil.so.1 =>         /lib/libuutil.so.1
        libgen.so.1 =>   /lib/libgen.so.1

原来是 libiconv.so.2 找不到

我想问一下:一个可执行文件执行时,去哪里找它需要的动态链接库文件?寻找的路径由什么指定?

除了在 /lib 下建立一个指向我的libiconv.so.2的链接以外,还有什么办法解决这个问题吗?

谢谢!

系统为: Solaris 10 u4 for x86
发表于 2007-12-3 22:37:03 | 显示全部楼层
由LD_LIBRARY_PATH决定
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表