今天是2014-05-27,今天遇到一个lib问题,再次记录一下。这是一个案例,更是一种解决该问题的方法过程。
当我们在使用sqlplus 登陆unix数据库的时候,有可能出现类似:xxxxxx bad ELF interpreter: No such file or directory的问题。该问题的原因也是lib的问题。正常情况如下:
[root@dg1 ~]# su - oracle
[oracle@dg1 ~]$ ldd `which sqlplus`
linux-vdso.so.1 => (0x00007fff2e5ff000)
libsqlplus.so => /u01/app/oracle/product/11.2.0/dbhome_1/lib/libsqlplus.so (0x00007fba1fef6000)
libclntsh.so.11.1 => /u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1 (0x00007fba1d48b000)
libnnz11.so => /u01/app/oracle/product/11.2.0/dbhome_1/lib/libnnz11.so (0x00007fba1d0be000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003c93800000)
libm.so.6 => /lib64/libm.so.6 (0x0000003c94400000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003c94000000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003ca3000000)
libc.so.6 => /lib64/libc.so.6 (0x0000003c93c00000)
libaio.so.1 => /lib64/libaio.so.1 (0x00007fba1cea4000)
/lib64/ld-linux-x86-64.so.2 (0x0000003c93400000)
[oracle@dg1 ~]$
但有时候可能会缺失相应的lib文件。
那么对于该问题的解决思路是:
1、查看程序缺少的lib文件是那些
2、判断对应的lib文件时缺少还是环境变量问题。
3、如果是lib文件缺少那么需要安装对应的软件包或是复制对应的lib文件。如果是环境变量问题,那就需要更具不同系统设置不同的环境变量了。
另外对于oracle我们安装的32位的是lib32,是64位的那么是lib目录。
如下是我今天遇到的一个启动RealSync的例子,其他程序类似:
启动Realsync提示如下错误:
dsg@dg2 scripts]$ ./start ./start: /dsg/bin/archivelog: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory ./start: /dsg/bin/archivelog: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory [dsg@dg2 scripts]$ ./stop INFO: Stop realsync normally... INFO: Stopping Vagentd ... INFO: Stopping Loader -s for fullsync loader ... INFO: Stopping Loader -r for realsync loader ... [dsg@dg2 scripts]$ [dsg@dg2 scripts]$ exit
那么对于ld-linux.so.2是对应的glibc.i686这个包。因此进行安装:如下:
[root@dg2 ~]# cd /media/OL6.4\ x86_64\ Disc\ 1\ 20130225/Packages/ [root@dg2 Packages]# yum install glibc.i686 Loaded plugins: refresh-packagekit, security oel6 | 3.7 kB 00:00 ... Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package glibc.i686 0:2.12-1.107.el6 will be installed --> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.12-1.107.el6.i686 --> Processing Dependency: libfreebl3.so for package: glibc-2.12-1.107.el6.i686 --> Running transaction check ---> Package nss-softokn-freebl.i686 0:3.12.9-11.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================= Package Arch Version Repository Size ======================================================================================================================= Installing: glibc i686 2.12-1.107.el6 oel6 4.3 M Installing for dependencies: nss-softokn-freebl i686 3.12.9-11.el6 oel6 116 k Transaction Summary ======================================================================================================================= Install 2 Package(s) Total download size: 4.4 M Installed size: 13 M Is this ok [y/N]: y Downloading Packages: ----------------------------------------------------------------------------------------------------------------------- Total 60 MB/s | 4.4 MB 00:00 Running rpm_check_debug Running Transa