java应用程序中的zeroMQ UnsatisfiedLinkError

时间:2014-04-09 06:51:18

标签: java linux ubuntu zeromq unsatisfiedlinkerror

我编写了一个通过zeroMQ与另一个应用程序通信的应用程序。在我的开发机器上运行Ubuntu 13一切都运行良好。

我安装了zeroMQ 4.4.0,jzmq java绑定也没有错误编译。

但是在我们的测试/生产服务器上,我得到了这个。应用程序启动,从requestInit()尝试通过zeroMQ从主配置管理器请求它的配置。

bs@server-01:~/$ java -Djava.library.path=/usr/local/lib -jar /home/bs/opengraphchild/jar/opengraph.jar 5000 opengraph1
Params = 5000
Params = opengraph1
Starting Test service ...
Running
TestService.requestInit()
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.zeromq.ZMQ$Socket.nativeInit()V
    at org.zeromq.ZMQ$Socket.nativeInit(Native Method)
    at org.zeromq.ZMQ$Socket.<clinit>(ZMQ.java:521)
    at org.zeromq.ZMQ$Context.socket(ZMQ.java:451)
    at bs.core.service.GenericService.initZmqClient(GenericService.java:41)
    at bs.service.opengraph.OpenGraph.requestInit(OpenGraph.java:131)
    at bs.service.opengraph.OpenGraph.run(OpenGraph.java:62)
    at bs.service.opengraph.OpenGraphRunner.main(OpenGraphRunner.java:13)

我找不到与我的问题相关的任何内容,所以我问你们。请帮助:( [不知道你是否需要看源代码,因为它在我的本地机器上工作,但我可以添加它]

ldconfig -v | grep zmq

的输出
/sbin/ldconfig.real: Path `/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once
    libzmq.so.3 -> libzmq.so.3.1.0
    libjzmq.so.0 -> libjzmq.so.0.0.0
    libzmq.so.1 -> libzmq.so.1
/sbin/ldconfig.real: Can't create temporary cache file /etc/ld.so.cache~: Permission denied

ldd /usr/local/lib/libzmq.so的输出:

linux-vdso.so.1 =>  (0x00007fffcdf7c000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f565a105000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5659ee8000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f5659be7000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5659827000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f5659611000)
/lib64/ld-linux-x86-64.so.2 (0x00007f565a56b000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5659314000)

ldd /usr/local/lib/libjzmq.so

的输出
linux-vdso.so.1 =>  (0x00007fffcf322000)
libzmq.so.3 => /usr/local/lib/libzmq.so.3 (0x00007fe7499a8000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fe7496a8000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe7492e7000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe7490df000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe748ec2000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe748cab000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe7489af000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe749e0c000)

1 个答案:

答案 0 :(得分:0)

这是我在Windows,OS X和Ubuntu上运行的原因:

http://sourceforge.net/p/jalgo/code-0/HEAD/tree/trunk/src/org/aso/algo/messaging/bus/zmq/ZMQLoader.java#l17

巴士套餐还包含酒吧/分店,所以请随时参考。