- 爱易网页
 
                        - 
                            Linux
 
                        - Linux动态加载库辨析 
 
                         
                    
                    
                    日期:2014-05-16  浏览次数:21004 次 
                    
                        
                         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
                        
                     
                    
                    
                        免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。