libXtst.so.6 cannot open shared object file error during Oracle Installation

The "libXtst.so.6 cannot open shared object file" is quite common if you install any oracle product on 64bit system and misses something in the system
prerequisites. A quick resolution is installing the  libXtst package for both 32 bit and 64 bit. But, last time while installing OID on 64bit Linux, I found that though libXtst package is already there, still this error is coming. See the error below and its solution.


The following error is coming during starting of installer.

$ ./runInstaller -ignoreSysPrereqs

-------------------------------------------------------------------------------------------------------------------
The OUI Screen may take around 5 to 30 seconds to come up depending upon system performance. Please Wait .......
-------------------------------------------------------------------------------------------------------------------

Starting Oracle Universal Installer...

Checking installer requirements...

Checking operating system version: must be redhat-Red Hat Enterprise Linux AS release 4, redhat-2.1, redhat-3, SuSE-9 or UnitedLinux-1.0
                                      Failed <<<<


>>> Ignoring required pre-requisite failures. Continuing...

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2013-02-11_01-46-40PM. Please wait ...[xxxxxx@Disk1]$ Oracle Universal Installer, Version 10.1.0.5.0 Production
Copyright (C) 1999, 2006, Oracle. All rights reserved.

Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2013-02-11_01-46-40PM/jre/1.4.2/lib/i386/libawt.so: libXtst.so.6: cannot open shared object file: No such file or directory occurred..
java.lang.UnsatisfiedLinkError: /tmp/OraInstall2013-02-11_01-46-40PM/jre/1.4.2/lib/i386/libawt.so: libXtst.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)

Solution

Although the following command is showing that libXtst package is installed for both 32bit and 64bit.
#  rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})
libXt-1.0.2-3.2.el5 (x86_64)
libXt-1.0.2-3.2.el5 (i386)

But oracle installer is trying to get file libXtst.so.6 from /usr/lib/libXtst.so.6 where libXtst.so.6 file doesn't exist. The 32bit version of the file is in /usr/X11R6/lib/libXtst.so.6 location.

So, I have created a softlink using following command and restarted the installation.
ln -s /usr/X11R6/lib/libXtst.so.6 /usr/lib/libXtst.so.6

7 comments :

Rama Krishna said...

Not sure does it worked or not. But use xorg-x11-libs-compat-6.8.2-1.EL.33.0.1.i386 rpm. it will fix the issue.

Rama Krishna said...
This comment has been removed by a blog administrator.
unknown writer said...

Yes, Rama. The above solution has fixed the issue.

Thank you for mentioning another way of solution.

Anonymous said...

I got the same error while launching Jdeveloper 11g Release 1
I am on Ubuntu 13.0.4

Followed the below resolution

Using synaptic Package Manager,
installed
libxtst-dev:i386

and the jdev worked afterwards

Anonymous said...

yum install libXtst.i686 on Oracle Linux 6.5 which solved it.
AA

plαdys said...

last comment was the easiest, as it installs the 32bit compatibility libraries.
yum install libXtst.i686

Anonymous said...

yum install libXtst.i686 worked!
THANK YOU!