External Command activity is unable to run any scripts that execute SSH commands.

External Command activity is unable to run any scripts that execute SSH commands.

book

Article ID: KB0085624

calendar_today

Updated On:

Products Versions
TIBCO ActiveMatrix BusinessWorks -
Not Applicable -

Description

Description:
External Command activity is unable to run any scripts that execute SSH commands. 


Symptoms:
The standard output/error from the script will look like:

exec(): 0509-036 Cannot load program /usr//bin/ssh because of the following errors:
0509-150   Dependent module /appl/tibco/tibrv/8.3/lib/libcrypto.a(libcrypto.so.0.9.8) could not be loaded.
0509-152   Member libcrypto.so.0.9.8 is not found in archive 
Connection closed

In the BW application, the log entry will be:

java.io.IOException: Cannot run program "/data/tibco/Scripts/test_sftp_script.sh": error=2, A file or directory in the path name does not exist..

Cause:
The script is being run in the context of JVM, so the SSH commands will look for libcrypto.so.0.9.8 within the environment variables set in the application tra. The default LIBPATH will only contain the libcrypto.a archive under /appl/tibco/tibrv/8.3/lib/ directory. However, the RV version of libcrypto.a does not contain libcrypto.so.0.9.8. Whereas the OpenSSL version of libcrypto.a has libcrypto.so.0.9.8 packaged within it. One can check if the archive libcrypto.a contains the member libcrypto.so.0.9.8 by extracting the contents of the file.

$ ar -xv libcrypto.a

Issue/Introduction

External Command activity is unable to run any scripts that execute SSH commands.

Resolution

Edit the application .tra file and prepend the OpenSSL library directory to the LIBPATH.

tibco.env.LIBPATH=/usr/lib\:...

Restart the application.