UnsatisfiedLinkError for TIBCO Active Spaces custom features and application.

UnsatisfiedLinkError for TIBCO Active Spaces custom features and application.

book

Article ID: KB0085465

calendar_today

Updated On:

Products Versions
TIBCO ActiveMatrix Service Grid -
Not Applicable -

Description

Description:
User tried to deploy the TIBCO Active Spaces (AS) custom feature and TIBCO Active Spaces application on ActiveMatrix node. On the Node log, the following error was reported: UnsatisfiedLinkError
Symptoms:
The application does not started successfully. From the Node log, the following exception was reported:

java.lang.ExceptionInInitializerError: com.tibco.as.space.RuntimeASException: java.lang.UnsatisfiedLinkError: C:\tibco\config\amx\tibcohost\Admin-PDX_LOCALDEV_01-LOCALDEV_01_SYS_01\nodes\Node1\configuration\org.eclipse.osgi\bundles\395\1\.cp\lib\as-common.dll: Can't find dependent libraries: java.lang.UnsatisfiedLinkError: C:\tibco\config\amx\tibcohost\Admin-PDX_LOCALDEV_01-LOCALDEV_01_SYS_01\nodes\Node1\configuration\org.eclipse.osgi\bundles\395\1\.cp\lib\as-common.dll: Can't find dependent libraries

Cause:
The issue here is with loading native TIBCO Active Spaces libraries (.dll on Windows or .so on Linux). Each time an AMX application loads classes from an as-common.jar file, the JNI call to load native libs will be made. If the the Node does not load the AS native libs, the as-common.jar will not be able to find the dependent native libraries which will result in the errors reported.

Issue/Introduction

UnsatisfiedLinkError for TIBCO Active Spaces custom features and application.

Resolution

Make sure you have {AS_HOME}/2.0/lib folder in your LD_LIBRARY_PATH in the node TRA file:

tibco.env.LD_LIBRARY_PATH=<PATH-TO-AS-LIB>

Then restart the Node and tibcohost.

If the above does not resolve the error, set the {AS_HOME}/2.0/lib folder in your PATH and LD_LIBRARY_PATH in the node classpath TRA file. The Node classpath TRA file can be found by looking into your node’s tibamx_NodeName.tra and you should see a line resembling:

tibco.include.tra=C:/amx315/tibcohost/3.1/scripts/node_classpath_3.1.5.HF3.tra

If you open node_classpath.tra you will see either PATH or LD_LIBRARY_PATH properties where you can add the AS native libs location:

tibco.env.PATH=C:/amx315/as/2.0/lib;C:/amx315/tibcojre/1.6.0/bin;%tibcohost.node.library.path%;%PATH%

or

tibco.env.LD_LIBRARY_PATH=C:/amx315/as/2.0/lib;%LD_LIBRARY_PATH%

Restart the node after modifying the TRA file.