oracle10g 安装遇到libXp.so.6: cannot open shared object file

在尝试安装Oracle 10g时遇到因缺失libXp和libXt库导致的错误。通过使用rpm命令安装这些依赖库,解决了安装过程中遇到的问题,确保了Oracle 10g的顺利安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

在安装oracle10g的时候出现如下错误:

[oracle10@rac1 clusterware]$ ./runInstaller 
********************************************************************************

Please run the script rootpre.sh as root on all machines/nodes. The script can be found at the toplevel of the CD or stage-area.
 Once you have run the script, please type Y to proceed

Answer 'y' if root has run 'rootpre.sh' so you can proceed with Oracle Clusterware installation.
Answer 'n' to abort installation and then ask root to run 'rootpre.sh'.

********************************************************************************

Has 'rootpre.sh' been run by root? [y/n] (n)
y

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/OraInstall2014-10-10_05-33-17PM. Please wait ...[oracle10@rac1 clusterw
are]$ Oracle Universal Installer, Version 10.2.0.1.0 Production
Copyright (C) 1999, 2005, Oracle. All rights reserved.

Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2014-10-10_05-33-17PM/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/OraInstall2014-10-10_05-33-17PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open share
d 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.<clinit>(Unknown Source)
        at java.awt.Component.<clinit>(Unknown Source)
        at oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager.<init>(OiifmGraphicInterfaceManager.java:222)
        at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.createInterfaceManager(OiicSessionInterfaceManager.java:193)
        at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.getInterfaceManager(OiicSessionInterfaceManager.java:202)
        at oracle.sysman.oii.oiic.OiicInstaller.getInterfaceManager(OiicInstaller.java:436)
        at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:926)
        at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:866)
Exception in thread "main" java.lang.NoClassDefFoundError
        at oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager.<init>(OiifmGraphicInterfaceManager.java:222)
        at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.createInterfaceManager(OiicSessionInterfaceManager.java:193)
        at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.getInterfaceManager(OiicSessionInterfaceManager.java:202)
        at oracle.sysman.oii.oiif.oiifm.OiifmAlert.<clinit>(OiifmAlert.java:151)
        at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:984)
        at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:866)


确实缺少lib:

安装缺少lib:

[root@rac1 Packages]# rpm -ivh libXp-1.0.0-15.1.el6.
libXp-1.0.0-15.1.el6.i686.rpm    libXp-1.0.0-15.1.el6.x86_64.rpm  
[root@rac1 Packages]# rpm -ivh libXp-1.0.0-15.1.el6.i686.rpm 
warning: libXp-1.0.0-15.1.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
error: Failed dependencies:
        libX11.so.6 is needed by libXp-1.0.0-15.1.el6.i686
        libXau.so.6 is needed by libXp-1.0.0-15.1.el6.i686
        libXext.so.6 is needed by libXp-1.0.0-15.1.el6.i686
[root@rac1 Packages]# rpm -ivh libXp-1.0.0-15.1.el6.i686.rpm --nodeps
warning: libXp-1.0.0-15.1.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing...                ########################################### [100%]
   1:libXp                  ########################################### [100%]
[root@rac1 Packages]# rpm -ivh libXp-1.0.0-15.1.el6.x86_64.rpm 
warning: libXp-1.0.0-15.1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing...                ########################################### [100%]
   1:libXp                  ########################################### [100%]
[root@rac1 Packages]# 


重新执行安装:

Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2014-10-10_05-41-01PM/jre/1.4.2/lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file o
r directory occurred..
java.lang.UnsatisfiedLinkError: /tmp/OraInstall2014-10-10_05-41-01PM/jre/1.4.2/lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or director
y
        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.<clinit>(Unknown Source)
        at java.awt.Component.<clinit>(Unknown Source)
        at oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager.<init>(OiifmGraphicInterfaceManager.java:222)
        at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.createInterfaceManager(OiicSessionInterfaceManager.java:193)
        at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.getInterfaceManager(OiicSessionInterfaceManager.java:202)
        at oracle.sysman.oii.oiic.OiicInstaller.getInterfaceManager(OiicInstaller.java:436)
        at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:926)
        at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:866)
Exception in thread "main" java.lang.NoClassDefFoundError
        at oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager.<init>(OiifmGraphicInterfaceManager.java:222)
        at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.createInterfaceManager(OiicSessionInterfaceManager.java:193)
        at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.getInterfaceManager(OiicSessionInterfaceManager.java:202)
        at oracle.sysman.oii.oiif.oiifm.OiifmAlert.<clinit>(OiifmAlert.java:151)
        at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:984)
        at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:866)
[root@rac1 Packages]# 


继续安装所需lib:

[root@rac1 Packages]# rpm -ivh libXt-1.1.3-1.el6.i686.rpm --nodeps
warning: libXt-1.1.3-1.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing...                ########################################### [100%]
   1:libXt                  ########################################### [100%]
[root@rac1 Packages]# 

注:缺啥就补啥

再次执行正常。

<think>好的,用户遇到了libX11.so.6无法打开共享对象文件的问题,需要解决方案。首先,我得回忆一下类似问题的解决方法。之前处理过类似的共享库缺失问题,通常有几种可能:库文件未安装、路径不正确或符号链接问题。 用户提到的错误是“libX11.so.6: cannot open shared object file”,这说明系统在运行某个程序时找不到这个库文件。首先,我应该确定这个库属于哪个软件包。根据之前的经验,libX11通常是X Window系统的库,可能在libX11这个包中。不过不同Linux发行版的包名可能不同,比如在RHEL或CentOS中,可能叫做libX11或者libX11-6,而在Debian/Ubuntu中可能是libx11-6。用户可能需要安装对应的软件包。 接下来,我需要检查用户使用的Linux发行版,因为安装命令会不同。比如,如果是基于Red Hat的系统(如CentOS),可以使用yum或dnf安装,而Debian系则需要apt-get。用户之前的问题中提到过RHEL5的解决方案,引用[1]中提到了安装libXp.so.6的问题,解决方法是通过安装特定的包。这里的情况类似,可能需要安装libX11的包,或者对应的32位库,如果用户运行的是32位程序的话。 另外,引用[3]中提到安装多个i686的库,包括libX11-devel.i686,这可能意味着用户需要安装32位兼容库。如果程序是32位的,而系统是64位的,那么可能需要安装对应的32位库。例如,在CentOS中,可以使用yum install libX11.i686安装32位版本。 此外,安装完成后,可能需要运行ldconfig来更新动态链接库缓存,确保系统能够找到新安装的库。如果库文件已经安装但路径不在默认的库目录中,可能需要将路径添加到/etc/ld.so.conf或LD_LIBRARY_PATH环境变量中。 还有一个可能性是库文件损坏或符号链接问题,比如库文件存在但符号链接不正确。这时候需要检查库文件的实际位置,并创建正确的符号链接。例如,引用[2]中提到的问题是由于libcudnn.so.7不是一个符号链接,解决方法是创建正确的链接。类似地,如果libX11.so.6的符号链接丢失或指向错误版本,可能需要手动创建。 总结下来,解决方案步骤可能是: 1. 确认发行版,安装对应的libX11包(64位或32位)。 2. 运行ldconfig更新缓存。 3. 检查库文件是否存在,确认路径正确,必要时设置环境变量或符号链接。 需要提醒用户根据他们的系统选择合适的安装命令,并注意32位和64位的区别。如果用户已经安装了库但仍然报错,可能需要进一步检查路径或符号链接的问题。</think>### 解决方案:libX11.so.6 无法打开共享对象文件 #### 1. 安装缺失的依赖库 根据Linux发行版选择对应操作: - **RHEL/CentOS/Fedora**: ```bash # 安装64位库 sudo yum install libX11 # 如果程序是32位,需安装兼容库 sudo yum install libX11.i686 ``` - **Debian/Ubuntu**: ```bash # 安装64位库 sudo apt-get install libx11-6 # 安装32位兼容库 sudo apt-get install libx11-6:i386 ``` #### 2. 更新动态链接器缓存 安装完成后执行: ```bash sudo ldconfig ``` #### 3. 验证库文件路径 检查库文件是否存在于标准路径中(如 `/usr/lib` 或 `/usr/lib64`): ```bash # 查找64位库 find /usr -name "libX11.so.6*" # 查找32位库 find /usr -name "libX11.so.6*" | grep i386 ``` #### 4. 特殊场景处理 - **手动指定库路径**(若库文件在非标准路径): ```bash export LD_LIBRARY_PATH=/path/to/library:$LD_LIBRARY_PATH ``` - **修复符号链接问题**: 若发现类似引用[2]中的符号链接错误,需重建链接: ```bash sudo ln -sf /path/to/actual/libX11.so.x.x /usr/lib/libX11.so.6 ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值