今天在一台REDHAT 5上安装ORACLE 9i的数据库,版本9206,当执行runInstaller时出现Exception java.lang.UnsatisfiedLinkError libXp.so.6: cannot open shared object file报错

[oracle@oracle Disk1]$ ./runInstaller

Starting Oracle Universal Installer…

Checking installer requirements…

Checking operating system version: must be redhat-2.1AS, redhat-2.1, redhat-3, UnitedLinux-1.0, SuSE-9 or SuSE-8
Passed

All installer requirements met.

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2012-05-22_02-22-05PM. Please wait …[oracle@oracle Disk1]$ Oracle Universal Installer, Version 10.1.0.3.0 Production
Copyright (C) 1999, 2004, Oracle. All rights reserved.

Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2012-05-22_02-22-05PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred..
java.lang.UnsatisfiedLinkError: /tmp/OraInstall2012-05-22_02-22-05PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1560)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1477)
at java.lang.Runtime.loadLibrary0(Runtime.java:788)
at java.lang.System.loadLibrary(System.java:834)
at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.NativeLibLoader.loadLibraries(NativeLibLoader.java:38)
at sun.awt.DebugHelper.(DebugHelper.java:29)
at java.awt.Component.(Component.java:506)
at oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager.(OiifmGraphicInterfaceManager.java:189)
at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.createInterfaceManager(OiicSessionInterfaceManager.java:173)
at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.getInterfaceManager(OiicSessionInterfaceManager.java:182)
at oracle.sysman.oii.oiic.OiicInstaller.(OiicInstaller.java:278)
at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:714)
at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:628)
Exception in thread “main” java.lang.NoClassDefFoundError
at oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager.(OiifmGraphicInterfaceManager.java:189)
at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.createInterfaceManager(OiicSessionInterfaceManager.java:173)
at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.getInterfaceManager(OiicSessionInterfaceManager.java:182)
at oracle.sysman.oii.oiif.oiifm.OiifmAlert.(OiifmAlert.java:112)
at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:772)
at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:628)

从网上找到了这样一段描述:

Problem Description
Whenever you run Oracle Universal Installer to install oracle software it fails with Exception java.lang.UnsatisfiedLinkError indicating libXp.so.6: cannot open shared object file: No such file or directory.(问题描述跟我的一致均是Exception java.lang.UnsatisfiedLinkError libXp.so.6: cannot open shared object file报错)

Cause of the Problem
Oracle tries to open the shared object file libXp.so.6 but it could not find any. In RHEL 4 and from fedora core release (1,2,3,4 ….) “libXp.so.6″ is deprecated and as such, the “xorg-x11-deprecated-libs” package is missing.  (导致该问题的原因是缺包所致)

If available, then “libXp.so.6″ should be found in the /usr/X11R6/lib64 directory of Linux. (正常情况是有”libXp.so.6″包的)

On disk 2 of the linux installation CD “libXp.so.6″, is available under rpm package,

xorg-x11-deprecated-libs-6.8.1-12.i386.rpm

Solution of the problem
Install the missing “xorg-x11-deprecated-libs” package.
1)Issue the following command to be sure whether libXp is missing,
$ rpm –query –whatprovides ‘libXp.so.6′    检查系统是否有该包

or by,
$ rpm –query –whatprovides ‘libXp.so.6′
2)Install the package by,
# rpm -ivh xorg-x11-deprecated-libs..rpm

Examples of rpm packages containing libXp.so.6 are,
xorg-x11-deprecated-libs-6.8.1-12.i386.rpm,
xorg-x11-deprecated-libs-6.8.2-31.i386.rpm


OK,当我打好libXp-1.0.0-8.1.el5.i386.rpm和libXp-1.0.0-8.1.el5.x86_64.rpm包后可正常执行安装!