book
Article ID: KB0094519
calendar_today
Updated On:
Description
Resolution:
Environment
==========
TIBCO Adapter for Tuxedo 6.0.0
Windows platform.
Description
==========
TIBCO Adapter for Tuxedo on windows throws the
"The ordinal 3823 could not be located in the dynamic link library LIBEAY32.dll" and failed to start up.
Symbol
==========
During runtime,TIBCO Adapter for Tuxedo failed to start up with error "The ordinal 3823 could not be located in the dynamic link library LIBEAY32.dll". But in design time, it can start up successfully in Designer.
Cause
======
The error is due to the conflict that is occurring between the LIBEAY32.dll and SSLEAY32.dll that is used by TIBCO products like RV/JMS/HAWK and some NON TIBCO product.
TIBCO Rendezvous (RV) 7.2+, TIBCO Enterprise for JMS (JMS) 3.1.1+, and TIBCO Runtime Agent (TRA) 5.1.2+ use OpenSSL code (files LIBEAY32.dll and SSLEAY32.dll). There are other applications which use the above OpenSSL code too and hence, on some machines, LIBEAY32.dll and SSLEAY32.dll are already installed (by non TIBCO applications) in C:\Windows\system32 and C:\Windows\syswow64(64 bit windows).
When TIBCO Java applications are started, the JVM looks for a property called java.library.path that specifies native library paths. If java.library.path is not set explicitly, then the JVM sets the value of java.library.path to the environment variable PATH but prepend C:\Windows\System32 ,C:\Windows\syswow64(64 bit windows)and other directories.
If the versions of LIBEAY32.dll and SSLEAY32.dll in C:\Windows\system32,C:\Windows\syswow64(64 bit windows) are not compatible with TIBCO Rendezvous, then TIBCO applications may fail when trying to use TIBCO Rendezvous (or TIBCO JMS).
Resolution
==========
1). Replace the two dlls LIBEAY32.dll and SSLEAY32.dll if they are present in Windows_HOME>\System32 and C:\Windows\syswow64(64 bit windows) folder with those present in RV_HOME\bin.
2). Replace the two dlls LIBEAY32.dll and SSLEAY32.dll that are present in SDK_HOME\bin with those present in RV_HOME\bin.
3). Replace the two dlls LIBEAY32.dll and SSLEAY32.dll that are present in %PATH% and folders before RV_HOME in %Ttibco.env.path%.
Note:
====
1). If you have RV 8.1 installed in <TIBCO_HOME>/tibrv/8.1, copy the latest files from ./tibrv/8.1/bin folder to .\<Windows_HOME>\System32 and .\<Windows_HOME>\Syswow64 folder and to SDK_HOME\bin folder.
2). Basically these files have to be replaced with those in the RV_HOME\bin folder, in all the paths that are present in the %PATH% variable of the system and in all the paths that come before the RV path in the "tibco.env.PATH" set in the Adapter tra file. Note that the Adapter adds the System Path to the begining of "tibco.env.PATH" at run-time but the Adapter is compatible only with libeay32.dll and ssleay32.dll which are present in RV_HOME\bin folder, therefore the requirement that these files if existing else where in the those paths set in "tibco.env.PATH" preceding the RV_HOME\bin should be replaced with the ones that are present in RV_HOME\bin.
3). If the above resolution does not work, you may try copying these files from TPCL_HOME\bin folder if copying the files from RV_HOME\bin folder does not help.
Issue/Introduction
TIBCO Adapter for Tuxedo failed to start up with "The ordinal 3823 could not be located in the dynamic link library LIBEAY32.dll" error.