Monday, March 28, 2011

liboraInstaller.so: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)

Machine Info: SunOS XXX 5.10 Generic_142909-17 sun4u sparc SUNW,Sun-Fire-V440

I run it on Sun Fire which is 64 bit.

[oracle@XXX]/u01/app/oracle/product/wls/oms11g/OPatch$ opatch -invPtrLoc /u01/app/oracle/product/wls/oms11g/oraInst.loc -local -oh /u01/app/oracle/product/wls/oms11g/../oracle_common /u01/app/oracle/product/wls/oms11g/install/oneoffs/111010/9329357
Invoking OPatch 11.1.0.8.0
java.lang.UnsatisfiedLinkError: /u01/app/oracle/product/wls/oracle_common/oui/lib/solaris/liboraInstaller.so: ld.so.1: java: fatal: /u01/app/oracle/product/wls/oracle_common/oui/lib/solaris/liboraInstaller.so: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1699)
        at java.lang.Runtime.load0(Runtime.java:770)
        at java.lang.System.load(System.java:1003)
        at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:402)
        at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.(OiipuUnixOps.java:125)
        at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.ssgetUidux(OiipgEnvironment.java:528)
        at oracle.sysman.oii.oiix.OiixEnvironmentOps.ssgetUidux(OiixEnvironmentOps.java:159)
        at oracle.opatch.OUIReplacer.isRootAccess(OUIReplacer.java:716)
        at oracle.opatch.OPatch.main(OPatch.java:445)
Exception in thread "main" java.lang.UnsatisfiedLinkError: no oraInstaller in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1734)
        at java.lang.Runtime.loadLibrary0(Runtime.java:823)
        at java.lang.System.loadLibrary(System.java:1028)
        at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:420)
        at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.(OiipuUnixOps.java:125)
        at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.ssgetUidux(OiipgEnvironment.java:528)
        at oracle.sysman.oii.oiix.OiixEnvironmentOps.ssgetUidux(OiixEnvironmentOps.java:159)
        at oracle.opatch.OUIReplacer.isRootAccess(OUIReplacer.java:716)
        at oracle.opatch.OPatch.main(OPatch.java:445)

OPatch failed with error code 1

Explore:


It is possible to turn on opatch debug by export  OPATCH_DEBUG=true, but it does not help.

Lets see java version:
/usr/bin/java -version
java version "1.5.0_24"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_24-b02)
Java HotSpot(TM) Server VM (build 1.5.0_24-b02, mixed mode)

/usr/bin/java -d64 
execve(): No such file or directory
Error trying to exec /usr/jdk/instances/jdk1.5.0/bin/sparcv9/java.
Check if file exists and permissions are set correctly.
Failed to start a 64-bit JVM process from a 32-bit JVM.
Verify all necessary J2SE components have been installed.
(Solaris SPARC 64-bit components must be installed after 32-bit components.)

So, I don't have 64-bit JVM. I remembered that I installed WebLogic Server for Solaris 
(32-bit JVM). That was my fault... They already have "Additional Platforms (For 64-bit JVM Support, See Note Above)". Will try to install wls/wls1034_generic.jar. Hope it helps.

1 comment:

  1. perhaps try setting your JVM_D64 env variable to “-d64”

    ReplyDelete