LinuxSir.cn,穿越时空的Linuxsir!

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

关于共享库找不到的问题,请教大虾

[复制链接]
发表于 2006-6-26 19:05:49 | 显示全部楼层 |阅读模式
我的机子:p3 866 gentoo +fvwm +xorg6.8.2,我装了cadence发现他要求csh,但是csh是mask的,我就unmask了,然后装上,运行发现他说找不到libdl.so.2如下:
lqjogq@localhost /opt/spb $ allegro
/opt/spb/tools/pcb/bin/allegro.exe: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory


我的库文件明明在这啊
lqjogq@localhost /lib $ ls -l libdl.so.2
lrwxrwxrwx  1 root root 14 Jun 25 19:23 libdl.so.2 -> libdl-2.3.4.so
lqjogq@localhost /lib $ pwd
/lib
lqjogq@localhost /lib $

为什么呢?
 楼主| 发表于 2006-6-26 19:50:48 | 显示全部楼层
怎么没人回答问题啊,是不是大家都没有遇到到这样的问题啊,我朋友的ubuntu就没问题,运行的很好,谁知道这个问题的答案啊
回复 支持 反对

使用道具 举报

发表于 2006-6-26 21:15:11 | 显示全部楼层
看一下
man ldconfig
回复 支持 反对

使用道具 举报

发表于 2006-6-26 22:13:56 | 显示全部楼层
ldd /opt/spb/tools/pcb/bin/allegro.exe是什么结果

可以尝试
  • locate libdl.so.2看看在什么地方,比如在/lib里
  • 在/etc/env.d/00basic加上LDPATH="/lib"
  • env-update
  • ldconfig

然后再执行
回复 支持 反对

使用道具 举报

发表于 2006-6-26 23:47:20 | 显示全部楼层
估计这个库的版本不对。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-27 10:54:29 | 显示全部楼层
ldd /opt/spb/tools/pcb/bin/allegro.exe是什么结果

可以尝试
locate libdl.so.2看看在什么地方,比如在/lib里
在/etc/env.d/00basic加上LDPATH="/lib"
env-update
ldconfig
然后再执行

不行
错误一样
cadence@localhost /opt/spb/tools/pcb/bin $ ldd allegro.exe
        linux-gate.so.1 =>  (0xffffe000)
        libcbbrowser.so => /opt/spb/tools/lib/libcbbrowser.so (0xb7e5c000)
        libddbpihdl.so => /opt/spb/tools/lib/libddbpihdl.so (0xb7ce4000)
        libcdsdoc_sh.so => /opt/spb/tools/lib/libcdsdoc_sh.so (0xb7cdb000)
        libmarkers.so => /opt/spb/tools/lib/libmarkers.so (0xb7cb7000)
        libnmp_sh.so => /opt/spb/tools/lib/libnmp_sh.so (0xb7c7e000)
        libmpi_sh.so => /opt/spb/tools/lib/libmpi_sh.so (0xb7c65000)
        libdataReg_sh.so => /opt/spb/tools/lib/libdataReg_sh.so (0xb7c4a000)
        libmpss_sh.so => /opt/spb/tools/lib/libmpss_sh.so (0xb7c30000)
        libmpsc_sh.so => /opt/spb/tools/lib/libmpsc_sh.so (0xb7c14000)
        libsman_sh.so => /opt/spb/tools/lib/libsman_sh.so (0xb7c0b000)
        libipc_sh.so => /opt/spb/tools/lib/libipc_sh.so (0xb7bfe000)
        libil_sh.so => /opt/spb/tools/lib/libil_sh.so (0xb7b37000)
        libvirtuos_sh.so => /opt/spb/tools/lib/libvirtuos_sh.so (0xb7b17000)
        libcla_sh.so => /opt/spb/tools/lib/libcla_sh.so (0xb7af5000)
        libcls_sh.so => /opt/spb/tools/lib/libcls_sh.so (0xb7ae7000)
        libfastt_sh.so => /opt/spb/tools/lib/libfastt_sh.so (0xb7ae5000)
        libconsmgr.so => /opt/spb/tools/lib/libconsmgr.so (0xb77be000)
        libog90as.so => /opt/spb/tools/lib/libog90as.so (0xb7489000)
        libotp80as.so => /opt/spb/tools/lib/libotp80as.so (0xb702a000)
        libsfl20as.so => /opt/spb/tools/lib/libsfl20as.so (0xb6f39000)
        libem_sh.so => /opt/spb/tools/lib/libem_sh.so (0xb6f36000)
        libcdsCommon_sh.so => /opt/spb/tools/lib/libcdsCommon_sh.so (0xb6f24000)
        libolepro32.so => not found
        liboleaut32.so => not found
        libole2ui.so => not found
        libole32.so => not found
        libmfc400s.so => not found
        libcomctl32.so => not found
        libmsvcrt.so => not found
        libadvapi32impl.so => not found
        libadvapi32.so => not found
        libuuid.so => /lib/libuuid.so (0xb6f18000)
        libgdiuser32.so => not found
        libkernel32.so => not found
        libcomdlg32.so => not found
        libshell32.so => not found
        libshlwapi.so => not found
        libversion.so => not found
        libwsock32.so => not found
        libXmu.so.6 => /usr/lib/libXmu.so.6 (0xb6f00000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb6e30000)
        libdl.so.2 => /lib/libdl.so.2 (0xb6e2c000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb6dda000)
        librpcrt4.so => not found
        libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libstdc++.so.5 (0xb6d20000)
        libm.so.6 => /lib/libm.so.6 (0xb6cfc000)
        libc.so.6 => /lib/libc.so.6 (0xb6be5000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb6bdd000)
        libcomdlg32.so => not found
        libmfc400s.so => not found
        libshell32.so => not found
        libcomctl32.so => not found
        libshlwapi.so => not found
        liboleaut32.so => not found
        libole32.so => not found
        librpcrt4.so => not found
        libmsvcrt.so => not found
        libgdiuser32.so => not found
        libadvapi32.so => not found
        libkernel32.so => not found
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb6bcb000)
        libdsnmp.so => /opt/spb/tools/lib/libdsnmp.so (0xb6bc6000)
        libdserrorhandler.so => /opt/spb/tools/lib/libdserrorhandler.so (0xb6bb2000)
        libnsl.so.1 => /lib/libnsl.so.1 (0xb6b9d000)
        libmfc400s.so => not found
        libmsvcrt.so => not found
        libgdiuser32.so => not found
        libadvapi32.so => not found
        libkernel32.so => not found
        libmfc400s.so => not found
        libcomctl32.so => not found
        libmsvcrt.so => not found
        libadvapi32impl.so => not found
        libadvapi32.so => not found
        libgdiuser32.so => not found
        libkernel32.so => not found
        libcomdlg32.so => not found
        libshell32.so => not found
        libshlwapi.so => not found
        libversion.so => not found
        libwsock32.so => not found
        libole32.so => not found
        liboleaut32.so => not found
        librpcrt4.so => not found
        liboleaut32.so => not found
        libole32.so => not found
        libcomdlg32.so => not found
        libshell32.so => not found
        libmfc400s.so => not found
        libcomctl32.so => not found
        libshlwapi.so => not found
        librpcrt4.so => not found
        libmsvcrt.so => not found
        libgdiuser32.so => not found
        libadvapi32.so => not found
        libkernel32.so => not found
        libcomdlg32.so => not found
        libshell32.so => not found
        liboleaut32.so => not found
        libole32.so => not found
        libmfc400s.so => not found
        libcomctl32.so => not found
        libshlwapi.so => not found
        librpcrt4.so => not found
        libmsvcrt.so => not found
        libgdiuser32.so => not found
        libadvapi32.so => not found
        libkernel32.so => not found
        libcomdlg32.so => not found
        liboleaut32.so => not found
        libmfc400s.so => not found
        libole32.so => not found
        libshell32.so => not found
        libcomctl32.so => not found
        libshlwapi.so => not found
        librpcrt4.so => not found
        libmsvcrt.so => not found
        libgdiuser32.so => not found
        libadvapi32.so => not found
        libkernel32.so => not found
        libXt.so.6 => /usr/lib/libXt.so.6 (0xb6b39000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0xb6b30000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0xb6b18000)
        /lib/ld-linux.so.2 (0xb7f1c000)
cadence@localhost /opt/spb/tools/pcb/bin $

版本的问题我也觉得可能,本来说2.3.5一下的版本,我开始用2.3.6不行,从新从2005stage3安装,没有emerge -e system
所以版本还是2.3.4的
回复 支持 反对

使用道具 举报

发表于 2006-6-27 11:12:03 | 显示全部楼层
你这个程序是portage里的么
需要依赖什么package?
从ldd的结果来看,恐怕是缺了wine吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-28 11:36:08 | 显示全部楼层
谢谢关心我的问题的人。这个问题已经解决了,是cadence里面就压根不认gentoo的库换到debian下面就搞定了。我现在想问一下为什么gentoo就不能做lfs
回复 支持 反对

使用道具 举报

发表于 2006-6-28 12:45:25 | 显示全部楼层
Post by lqjogq
/opt/spb/tools/pcb/bin/allegro.exe: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
不行
错误一样
cadence@localhost /opt/spb/tools/pcb/bin $ ldd allegro.exe
...
libdl.so.2 => /lib/libdl.so.2 (0xb6e2c000)
...

明明找到了嘛...
那么那些not found的库,同理。
回复 支持 反对

使用道具 举报

发表于 2006-6-28 12:46:51 | 显示全部楼层
gentoo做lfs? linux from scratch?

我想发现问题根源的方法应该是这样:
先查查debian里的libkernel32.so属于哪个package?
再查查gentoo里有没有这个package?

当然你不一定想要去发现根源,但是在未发现根源的情况下下的结论恐怕站不住吧

我觉得gentoo不会对它所发布的软件作任何大的改动,以至于库不能被连接成功
而且前面贴的ldd的内容说明不是认不出的问题,而是根本找不到。这只有两种可能,要么没装,要么库的路径不在/etc/ld.so.conf里
回复 支持 反对

使用道具 举报

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

本版积分规则

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