Failed to open Tibrv in native implementation:
TibrvException[error=901,message=Library not found: tibrvjsd64]
at com.tibco.tibrv.Tibrv.loadLib(Tibrv.java:449)
at com.tibco.tibrv.Tibrv.open(Tibrv.java:252)
at gfinet.connections.GFIRVTransportFactory.(GFIRVTransportFactory.java:36)
at gfinet.connections.GFIRVPublisher.(GFIRVPublisher.java:48)
at gfinet.connections.GFIRVFactory.createPublisher(GFIRVFactory.java:78)
at gfinet.connections.GFIRVFactory.createPublisher(GFIRVFactory.java:55)
at test.TestPublisher.main(TestPublisher.java:36)
Internal exception:
java.lang.UnsatisfiedLinkError: /opt/rv/lib/libtibrvjsd64.so: libssl.so: wrong ELF class: ELFCLASS32
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.tibco.tibrv.Tibrv.loadLib(Tibrv.java:443)
at com.tibco.tibrv.Tibrv.open(Tibrv.java:252)
at gfinet.connections.GFIRVTransportFactory.(GFIRVTransportFactory.java:36)
at gfinet.connections.GFIRVPublisher.(GFIRVPublisher.java:48)
at gfinet.connections.GFIRVFactory.createPublisher(GFIRVFactory.java:78)
at gfinet.connections.GFIRVFactory.createPublisher(GFIRVFactory.java:55)
at test.TestPublisher.main(TestPublisher.java:36)
Internal exception:
java.lang.UnsatisfiedLinkError: /opt/rv/lib/libtibrvjsd64.so: libssl.so: wrong ELF class: ELFCLASS32
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.tibco.tibrv.Tibrv.loadLib(Tibrv.java:443)
at com.tibco.tibrv.Tibrv.open(Tibrv.java:252)
at gfinet.connections.GFIRVTransportFactory.(GFIRVTransportFactory.java:36)
at gfinet.connections.GFIRVPublisher.(GFIRVPublisher.java:48)
at gfinet.connections.GFIRVFactory.createPublisher(GFIRVFactory.java:78)
at gfinet.connections.GFIRVFactory.createPublisher(GFIRVFactory.java:55)
at test.TestPublisher.main(TestPublisher.java:36)
1 [main] FATAL gfinet.connections.GFIRVTransportFactory - Failed to open Tibrv in native implementation:
TibrvException[error=901,message=Library not found: tibrvjsd64]
at com.tibco.tibrv.Tibrv.loadLib(Tibrv.java:449)
at com.tibco.tibrv.Tibrv.open(Tibrv.java:252)
at gfinet.connections.GFIRVTransportFactory.(GFIRVTransportFactory.java:36)
at gfinet.connections.GFIRVPublisher.(GFIRVPublisher.java:48)
at gfinet.connections.GFIRVFactory.createPublisher(GFIRVFactory.java:78)
at gfinet.connections.GFIRVFactory.createPublisher(GFIRVFactory.java:55)
at test.TestPublisher.main(TestPublisher.java:36)
Internal exception:
java.lang.UnsatisfiedLinkError: /opt/rv/lib/libtibrvjsd64.so: libssl.so: wrong ELF class: ELFCLASS32
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.tibco.tibrv.Tibrv.loadLib(Tibrv.java:443)
at com.tibco.tibrv.Tibrv.open(Tibrv.java:252)
at gfinet.connections.GFIRVTransportFactory.(GFIRVTransportFactory.java:36)
at gfinet.connections.GFIRVPublisher.(GFIRVPublisher.java:48)
at gfinet.connections.GFIRVFactory.createPublisher(GFIRVFactory.java:78)
at gfinet.connections.GFIRVFactory.createPublisher(GFIRVFactory.java:55)
at test.TestPublisher.main(TestPublisher.java:36)
SSMBRVINITERR - FileNotFoundException: /var/opt/rvd/.rv/rvd.cnf (Permission denied)
SSMBRVINITERR - REQUESTED PARAMETERS FOR WRONG VERSION "8.0" OF THE DAEMON PROCESS
TibrvException[error=4,message=Tibrv not initialized]
at com.tibco.tibrv.Tibrv.checkValid(Tibrv.java:329)
at com.tibco.tibrv.TibrvTransport.(TibrvTransport.java:28)
at com.tibco.tibrv.TibrvNetTransport.(TibrvNetTransport.java:19)
at com.tibco.tibrv.TibrvRvdTransport.(TibrvRvdTransport.java:41)
at gfinet.connections.GFIRVTransport.(GFIRVTransport.java:38)
at gfinet.connections.GFIRVTransportFactory.getTransport(GFIRVTransportFactory.java:85)
at gfinet.connections.GFIRVPublisher.(GFIRVPublisher.java:49)
at gfinet.connections.GFIRVFactory.createPublisher(GFIRVFactory.java:78)
at gfinet.connections.GFIRVFactory.createPublisher(GFIRVFactory.java:55)
at test.TestPublisher.main(TestPublisher.java:36)
==============
$ ldd /opt/rv/lib/libtibrvjsd64.so
linux-vdso.so.1 => (0x00007fff32554000)
libtibrvcmq64.so => not found
libtibrvcm64.so => not found
libtibrvft64.so => not found
libtibrv64.so => not found
libtibrvsd64.so => not found
libssl.so => not found
libcrypto.so => not found
libz.so => not found
libc.so.6 => /lib64/libc.so.6 (0x00002ad2364fe000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002ad236856000)
/lib64/ld-linux-x86-64.so.2 (0x0000003b9d400000)
$ ldd /opt/rv/lib/libssl.so
linux-gate.so.1 => (0xffffe000)
libcrypto.so => not found
libdl.so.2 => /lib/libdl.so.2 (0xf7f35000)
libz.so => not found
libc.so.6 => /lib/libc.so.6 (0xf7ddc000)
/lib/ld-linux.so.2 (0x00465000)
$ ls /opt/rv/lib
64 libssl.a libtibrv64.a libtibrvcm64.a libtibrvcmq64.a libtibrvcmq.so libtibrvcpp.a libtibrvft.a libtibrvjsd64.so libtibrvnative64.so libtibrvnative.so libtibrvsd.a libz.a
libcrypto.a libssl.so libtibrv64.so libtibrvcm64.so libtibrvcmq64.so libtibrvcm.so libtibrvft64.a libtibrvft.so libtibrvjsd.so libtibrvnativesd64.so libtibrvsd64.a libtibrvsd.so libz.so
libcrypto.so libssmbRVinit.so libtibrv.a libtibrvcm.a libtibrvcmq.a libtibrvcpp64.a libtibrvft64.so libtibrvj64.so libtibrvj.so libtibrvnativesd.so libtibrvsd64.so libtibrv.so
$ cd /opt/rv/lib/64
$ ls
libcrypto.a libcrypto.so libssl.a libssl.so libz.a libz.so
====
libtibrvjsd64.so is linked to bit32 libssl.so , so we need to change the LD_LIBRARY_PATH
from
LD_LIBRARY_PATH=$RV_ROOT/lib:$RV_ROOT/rv5/lib:$LD_LIBRARY_PATH
to
LD_LIBRARY_PATH=$RV_ROOT/lib/64:$RV_ROOT/lib:$RV_ROOT/rv5/lib:$LD_LIBRARY_PATH
=======================
Exception in thread "main" java.lang.UnsatisfiedLinkError: /opt/rv/rv5/lib/librvjs11.so: /opt/rv/rv5/lib/librvjs11.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
ldd /opt/rv/rv5/lib/librvjs11.so
statically linked
这是因为用了64位的jdk去执行32位的library
在尝试运行一个Java应用程序时遇到了TibrvException错误,原因是程序依赖的libtibrvjsd64.so库找不到对应的libssl.so库,且发现该库是32位的,而在64位环境下导致了错误。解决方法是调整LD_LIBRARY_PATH,确保指向正确的64位库路径。
2740

被折叠的 条评论
为什么被折叠?



