|
发表于 2009-4-12 16:05:54
|
显示全部楼层
linux程序多采用动态链接库,如果库依赖符合,应该可以运行
像官方发布firefox是二进制程序打包.tar.bz2,只要解开就可以用,而且它会把很多.so也打包进去
googleearth也是二进制程序打包,也带了很多.so,又混用系统里的一些库,可能有冲突,在Debian lenny里要删掉它自带的libcrypto.so.0.9.8才能运行,然后又不能显示中文,要删掉它自带的libQt库文件,在系统里要安装上相关的QT4库才行
有的程序可能会用静态链接库方式编译,就不依赖库文件了,但很少有这么做的
如果ldd输出有某项是not found可能就缺少库文件了,一般程序只在标准库目录里找.so
像googleearth是会在它的安装目录里找.so的,有些not found的其实在googleearth目录里有,是可以用的
$ ldd /usr/local/bin/fbterm
linux-gate.so.1 => (0xb7fb9000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7f7e000)
libutil.so.1 => /lib/i686/cmov/libutil.so.1 (0xb7f7a000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7e8c000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7e66000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7e59000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7cfe000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7c88000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7c73000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb7c4d000)
/lib/ld-linux.so.2 (0xb7fba000)
libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb7c34000) |
|