oracle10g安装过程中Error in invoking target ‘all_no_orcl ihsodbc’ of makefile问题的解决
在CentOS5.6上安装oracle10gR2,安装程序进行到86%的时候报下面的错误:
INFO: gcc:
INFO: /usr/lib/libstdc++.so.5: No such file or directory
INFO:INFO: /home/oracle/db_1/bin/genorasdksh: Failed to link liborasdkbase.so.10.2
INFO: make: *** [liborasdkbase] Error 1
INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'all_no_orcl ihsodbc' of makefile '/home/oracle/db_1/rdbms/lib/ins_rdbms.mk'. See '/home/oracle/oraInventory/logs/installActions2011-04-28_09-49-27AM.log' for details.
Exception Severity: 1
这个错误是和编译有关的,检查日志发现果然缺少了一个C的类库:
INFO: /usr/lib/libstdc++.so.5: No such file or directory
问题分析:
[root@CentOS5 ~]# ls /usr/lib/libstdc*
/usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so.6.0.8[root@CentOS5 ~]# rpm -qf /usr/lib/libstdc++.so.6
libstdc++-4.1.2-50.el5
因为此OS为最新版的CentOS5.6,默认安装了高版本的libstdc++。oracle10g的安装程序需要早期的版本libstdc++.so.5。
解决办法:
1、在CentOS5.6的DVD光盘中找到compat-libstdc++-33-3.2.3-61.i386.rpm包,安装补丁包:
[root@CentOS5 ~]# rpm -Uvh /mnt/CentOS/compat-libstdc++-33-3.2.3-61.i386.rpm
warning: /mnt/CentOS/compat-libstdc++-33-3.2.3-61.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
Preparing... ########################################### [100%]
1:compat-libstdc++-33 ########################################### [100%]
2、回到安装界面,点击重试,继续安装。。。
验证类库所在的包:
[root@CentOS5 ~]# ls -l /usr/lib/libstdc*
lrwxrwxrwx 1 root root 18 Apr 28 10:03 /usr/lib/libstdc++.so.5 -> libstdc++.so.5.0.7
-rwxr-xr-x 1 root root 733168 Jan 9 2007 /usr/lib/libstdc++.so.5.0.7
lrwxrwxrwx 1 root root 18 Apr 21 18:21 /usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.8
-rwxr-xr-x 1 root root 936908 Mar 6 23:11 /usr/lib/libstdc++.so.6.0.8
[root@CentOS5 ~]# rpm -qf /usr/lib/libstdc++.so.5.0.7
compat-libstdc++-33-3.2.3-61