TIBCO InConcert IcJavaServer fails to start or can not run IcJava JNI application because of the error "wrong ELF class: ELFCLASS32"

TIBCO InConcert IcJavaServer fails to start or can not run IcJava JNI application because of the error "wrong ELF class: ELFCLASS32"

book

Article ID: KB0093291

calendar_today

Updated On:

Products Versions
TIBCO InConcert -
Not Applicable -

Description

Description:
The full error stack on Linux follows:
 
Exception in thread "main" java.lang.UnsatisfiedLinkError: /tibco/tibco/tibic74/icapps/shared/native/lib/libicjni.so: /tibco/tibco/tibic74/icapps/shared/native/lib/libicjni.so: wrong ELF class:                ELFCLASS32 (Possible cause: architecture word width mismatch)
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1807)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1732)
        at java.lang.Runtime.loadLibrary0(Runtime.java:823)
        at java.lang.System.loadLibrary(System.java:1028)
        at com.inconcert.servlet.engine.IcServletEngine.<clinit>(IcServletEngine.java:16)
        at com.inconcert.icjava.IcClient.initLocalServer(IcClient.java:100)
        at com.inconcert.icjava.IcClient.<init>(IcClient.java:56)
        at IcJavaExample.main(IcJavaExample.java:54)

On Windows 7, the error stack looks like:

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\TIBCO\InConcert740
PCGUI\icapps\shared\native\bin\icjni.dll: Can't load IA 32-bit .dll on a AMD 64-
bit platform
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1807)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1732)
        at java.lang.Runtime.loadLibrary0(Runtime.java:823)
        at java.lang.System.loadLibrary(System.java:1028)
        at com.inconcert.servlet.engine.IcServletEngine.<clinit>(IcServletEngine
.java:16)
        at com.inconcert.icjava.IcClient.initLocalServer(IcClient.java:100)
        at com.inconcert.icjava.IcClient.<init>(IcClient.java:56)
        at IcJavaExample.main(IcJavaExample.java:54)

Symptoms:
See above.

Cause:
InConcert is a 32-bit application which will run in 64-bit environments. The IcJava programs fail because they need to load native libraries and are also restricted to using 32-bit Java instead of the 64-bit version.

Issue/Introduction

TIBCO InConcert IcJavaServer fails to start or can not run IcJava JNI application because of the error "wrong ELF class: ELFCLASS32"

Resolution

Install and use a 32-bit Java release.