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.<clinit>(GFIRVTransportFactory.java:36)
at gfinet.connections.GFIRVPublisher.<init>(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.<clinit>(GFIRVTransportFactory.java:36)
at gfinet.connections.GFIRVPublisher.<init>(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.<clinit>(GFIRVTransportFactory.java:36)
at gfinet.connections.GFIRVPublisher.<init>(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.<clinit>(GFIRVTransportFactory.java:36)
at gfinet.connections.GFIRVPublisher.<init>(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.<clinit>(GFIRVTransportFactory.java:36)
at gfinet.connections.GFIRVPublisher.<init>(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.<init>(TibrvTransport.java:28)
at com.tibco.tibrv.TibrvNetTransport.<init>(TibrvNetTransport.java:19)
at com.tibco.tibrv.TibrvRvdTransport.<init>(TibrvRvdTransport.java:41)
at gfinet.connections.GFIRVTransport.<init>(GFIRVTransport.java:38)
at gfinet.connections.GFIRVTransportFactory.getTransport(GFIRVTransportFactory.java:85)
at gfinet.connections.GFIRVPublisher.<init>(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