linux libimf.so,Error while loading shared libraries: libimsl.so: cannot open shared object file: No...

此问题纠结近30个小时后终于得到解决,期间用过很多方法,一一列举如下:

Problem:

./lin_sol_svd_ex2

./lin_sol_svd_ex2: error while loading shared libraries: libimsl.so: cannot open shared object file:

No such file or directory

ldd lin_sol_svd_ex2

libimsl.so => not found

libimslsuperlu.so => not found

libimslscalar.so => not found

libimslblas.so => not found

libm.so.6 => /lib/tls/libm.so.6 (0x007df000)

libguide.so => /opt/intel/intel-10.0/fc-10.0/lib/libguide.so (0x00111000)

libpthread.so.0 => /lib/tls/libpthread.so.0 (0x0090d000)

libc.so.6 => /lib/tls/libc.so.6 (0x006b2000)

libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0055a000)

libdl.so.2 => /lib/libdl.so.2 (0x00804000)

/lib/ld-linux.so.2 (0x00699000)

Solution: set LD_LIBRARY_PATH:

export LD_LIBRARY_PATH=$IMSL_LIB_DIR:$LD_LIBRARY_PATH

echo $LD_LIBRARY_PATH

/opt/imsl/imsl-6.0-intel/imsl/fnl600/lnxin100i32/lib:/opt/intel/intel-10.0/fc-10.0/lib:/opt/intel/intel-10.0/cc-10.0/lib

ldd lin_sol_svd_ex2

libimsl.so => /opt/imsl/imsl-6.0-intel/imsl/fnl600/lnxin100i32/lib/libimsl.so (0x006b0000)

libimslsuperlu.so => /opt/imsl/imsl-6.0-intel/imsl/fnl600/lnxin100i32/lib/libimslsuperlu.so (0x00111000)

libimslscalar.so => /opt/imsl/imsl-6.0-intel/imsl/fnl600/lnxin100i32/lib/libimslscalar.so (0x0016b000)

libimslblas.so => /opt/imsl/imsl-6.0-intel/imsl/fnl600/lnxin100i32/lib/libimslblas.so (0x002c2000)

libm.so.6 => /lib/tls/libm.so.6 (0x00316000)

libguide.so => /opt/intel/intel-10.0/fc-10.0/lib/libguide.so (0x00339000)

libpthread.so.0 => /lib/tls/libpthread.so.0 (0x0038c000)

libc.so.6 => /lib/tls/libc.so.6 (0x0039e000)

libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0055a000)

libdl.so.2 => /lib/libdl.so.2 (0x004c9000)

libifport.so.5 => /opt/intel/intel-10.0/fc-10.0/lib/libifport.so.5 (0x004cd000)

libifcore.so.5 => /opt/intel/intel-10.0/fc-10.0/lib/libifcore.so.5 (0x00564000)

libimf.so => /opt/intel/intel-10.0/fc-10.0/lib/libimf.so (0x041b8000)

libintlc.so.5 => /opt/intel/intel-10.0/fc-10.0/lib/libintlc.so.5 (0x004ed000)

/lib/ld-linux.so.2 (0x00699000)

按照此方法没有有效的解决,不知道原因!

2:修改过 /etc/profile 以及home目录下的.bash_profile,添加了imsl库的路径,问题依然没有解决!

3:随后问百度,告诉我几个答案

按照这个方法问题得到有效解决:

步骤如下,

因为我系统中有其所需库文件,因此,我只用root用户(似乎必须用root用户,因为在执行ldconfig时只能是root)修改了/etc/ld.so.conf,添加了我的库路径/opt/imsl/imsl/install/imsl/fnl600/rdhin111e64/lib/,添加过程中出现一个小小的错误,lib后面的“/”忘记写了,导致失效。

添加好以上路径后如下:

include ld.so.conf.d/*.conf

/opt/imsl/imsl/install/imsl/fnl600/rdhin111e64/lib/

然后用root用户执行 ldconfig,再 $ldd a.out

发现可以检索到相关库!

问题解决!

最后感谢 linux群中的热心网友,谢谢你们的鼓励和指导!尤其是 亂纃㈧蹧D僾(4947757**)的鼓励

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值