book
Article ID: KB0090698
calendar_today
Updated On:
Description
Resolution:
Description:
= = = = = = =
1). The user specified IMPL_JAVA but tries to use a feature provided by the native layer.
2).Native libraries could not be loaded as needed during initialization of the library.
Resolution:
= = = = = =
1). If you are using BW and run into a similar issue, refer to SOL1-8UZP1N.
2).The following is one of the common seen examples. This trace can be reproduced by renaming libcrypto.so.0.9.8 file to libcrypto.so.0.9.8.64.
======================================================
Failed to create TibrvRvdTransport:
TibrvException[error=27,message=Native implementation required]
at com.tibco.tibrv.TibrvRvdTransport.init(TibrvRvdTransport.java:67)
at com.tibco.tibrv.TibrvRvdTransport.<init>(TibrvRvdTransport.java:42)
at tibrvlisten.<init>(tibrvlisten.java:39)
at tibrvlisten.main(tibrvlisten.java:135)
Internal exception:
TibrvException[error=901,message=Library not found: tibrvjsd64]
at com.tibco.tibrv.Tibrv.loadLib(Tibrv.java:474)
at com.tibco.tibrv.Tibrv.open(Tibrv.java:260)
at tibrvlisten.<init>(tibrvlisten.java:25)
at tibrvlisten.main(tibrvlisten.java:135)
Internal exception:
java.lang.UnsatisfiedLinkError: /rv/build/rv/rel/8_3_2/linux26gl23/x86/ref/lib/libtibrvjsd64.so: libcrypto.so.0.9.8: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
at java.lang.Runtime.loadLibrary0(Runtime.java:845)
at java.lang.System.loadLibrary(System.java:1084)
at com.tibco.tibrv.Tibrv.loadLib(Tibrv.java:468)
at com.tibco.tibrv.Tibrv.open(Tibrv.java:260)
at tibrvlisten.<init>(tibrvlisten.java:25)
at tibrvlisten.main(tibrvlisten.java:135)
Internal exception:
TibrvException[error=901,message=Library not found: tibrvjsd64]
at com.tibco.tibrv.Tibrv.loadLib(Tibrv.java:474)
at com.tibco.tibrv.Tibrv.open(Tibrv.java:260)
at tibrvlisten.<init>(tibrvlisten.java:25)
at tibrvlisten.main(tibrvlisten.java:135)
Internal exception:
java.lang.UnsatisfiedLinkError: /rv/build/rv/rel/8_3_2/linux26gl23/x86/ref/lib/libtibrvjsd64.so: libcrypto.so.0.9.8: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
at java.lang.Runtime.loadLibrary0(Runtime.java:845)
at java.lang.System.loadLibrary(System.java:1084)
at com.tibco.tibrv.Tibrv.loadLib(Tibrv.java:468)
at com.tibco.tibrv.Tibrv.open(Tibrv.java:260)
at tibrvlisten.<init>(tibrvlisten.java:25)
at tibrvlisten.main(tibrvlisten.java:135)
Internal exception:
java.lang.UnsatisfiedLinkError: /rv/build/rv/rel/8_3_2/linux26gl23/x86/ref/lib/libtibrvjsd64.so: libcrypto.so.0.9.8: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
at java.lang.Runtime.loadLibrary0(Runtime.java:845)
at java.lang.System.loadLibrary(System.java:1084)
at com.tibco.tibrv.Tibrv.loadLib(Tibrv.java:468)
at com.tibco.tibrv.Tibrv.open(Tibrv.java:260)
at tibrvlisten.<init>(tibrvlisten.java:25)
at tibrvlisten.main(tibrvlisten.java:135)
==========================================================
If you use IMPL_SELECT, RV will load the JNI library if possible, otherwise use the Java implementation. Since tibrvj could not be found, Tibrv.open() will use Java implementation, but in the code, if you create a rvd transport, then you will get
TibrvException[error=27,message=Native implementation required].
If you changed to Tibrv.open(IMPL_NATIVE), and tibrvj.so could not be found, you will not see “[error=27,message=Native implementation required]” but only “[error=901,message=Library not found: tibrvjsd64]”.
You need to fix your classpath/ld_library_path64 setting correctly in your UNIX environment for the library in the error message.
Issue/Introduction
[copy-edit approved]Exception: Native implementation requiredTibrvException[error=27,message=Native implementation required].