【Troubleshooting】解决libXp.so.6: cannot open shared object file错误




  • 【问题描述】
    现场人员安装Oracle生产环境,运行runInstaller遇到libXp.so.6: cannot open shared object file错误。

    bash-3.2$ ./runInstaller
    Starting Oracle Universal Installer...

    Checking installer requirements...
    Checking operating system version: must be RedHat-3, SUSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
    Passed
    All installer requirements met.

    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2012-12-24_04-17-35PM. Please wait ...bash-3.2$ Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2012-12-24_04-17-19AM/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(Unknown Source)
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at sun.security.action.LoadLibraryAction.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
    at sun.awt.DebugHelper.(Unknown Source)
    at java.awt.Component.(Unknown Source)

    截图如下:
    2012-12-24-01

    【处理过程】
    报错很明显,缺少libXp.so.6,Google了一下libXp.so.6属于哪个包,发现是少了libXp包导致的。

    bash-3.2# rpm -ivh libXp-1.0.0-8.1.el5.x86_64.rpm
    warning: libXp-1.0.0-8.1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
    Preparing... ########################################### [100%]
    1:libXp ########################################### [100%]

    重新运行runInstaller还是报错。

    bash-3.2$ ./runInstaller
    Starting Oracle Universal Installer...

    Checking installer requirements...

    Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
    Passed

    All installer requirements met.

    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2012-12-24_04-17-35AM. Please wait ...bash-3.2$ Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2012-12-24_04-17-35AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: wrong ELF class: ELFCLASS64
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(Unknown Source)
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at sun.security.action.LoadLibraryAction.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
    at sun.awt.DebugHelper.(Unknown Source)
    at java.awt.Component.(Unknown Source)

    然后又装了一个32位的libXp包。

    bash-3.2# rpm -ivh libXp-1.0.0-8.1.el5.i386.rpm
    warning: libXp-1.0.0-8.1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
    Preparing... ########################################### [100%]
    1:libXp ########################################### [100%]

    再次运行runInstaller,问题解决。

    bash-3.2$ ./runInstaller
    Starting Oracle Universal Installer...

    Checking installer requirements...

    Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
    Passed

    All installer requirements met.

    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2012-12-24_04-17-38PM. Please wait ...
    bash-3.2$

    【结论】
    如果运行runInstaller时出现/tmp/OraInstall2012-12-24_07-24-35PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory错误
    需要安装:
    libXp-1.0.0-8.1.el5.x86_64.rpm
    libXp-1.0.0-8.1.el5.i386.rpm

    Speak Your Mind

    *