- 爱易网页
-
Linux
- Linux动态加载库辨析
日期:2014-05-16 浏览次数:20816 次
Linux动态加载库剖析
问题:
在程序测试中发现报下面的这个错误
soxmix: error while loading shared libraries: libippsc.so: cannot open shared object file: No such file or directory
这个程序是在64位平台下进行的编译,64位平台的库的名字已及路径: /opt/intel/ipp41/em64t/sharedlib/libippscem64t.so
在Makefile编译时的链接环境:
IPPROOT = /opt/intel/ipp41/em64t
LIB_G729 = -L./libg729 -L$(IPPROOT)/sharedlib -L$(IPPROOT)/sharedlib/linuxem64t -lg729 -lippscem64t -lipp
ld.so.conf内容:
include ld.so.conf.d/*.conf
/opt/intel/ipp41/em64t/sharedlib
/opt/intel/ipp41/em64t/sharedlib/linuxem64t
使用readelf -d soxmix 命令查看库的链接情况:
[root@localhost src]# readelf -d soxmix
Dynamic section at offset 0x914f0 contains 33 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libvorbisfile.so.3]
0x0000000000000001 (NEEDED) Shared library: [libvorbisenc.so.2]
0x0000000000000001 (NEEDED) Shared library: [libvorbis.so.0]
0x0000000000000001 (NEEDED) Shared library: [libogg.so.0]
0x0000000000000001 (NEEDED) Shared library: [libm.so.6]
0x0000000000000001 (NEEDED) Shared library: [libmad.so.0]
0x0000000000000001 (NEEDED) Shared library: [libmp3lame.so.0]
0x0000000000000001 (NEEDED) Shared library: [libippscem64t.so]
0x0000000000000001 (NEEDED) Shared library: [libippsrem64t.so]
0x0000000000000001 (NEEDED) Shared library: [libippsem64t.so]
0x0000000000000001 (NEEDED) Shared library: [libippcoreem64t.so]
0x0000000000000001 (NEEDED) Shared library: [libguide.so]
0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000c (INIT) 0x403118
0x000000000000000d (FINI) 0x452c18
0x000000006ffffef5 (GNU_HASH) 0x400240
0x0000000000000005 (STRTAB) 0x4013e0
0x0000000000000006 (SYMTAB) 0x4002a0
0x000000000000000a (STRSZ) 2732 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000015 (DEBUG) &n
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。