zeroMQ UnsatisfiedLinkError в приложении Java
Я написал приложение, которое связывается через zeroMQ с другим приложением. На моей машине разработки под управлением Ubuntu 13 все хорошо и работает.
У меня установлен zeroMQ 4.4.0, также была скомпилирована java-привязка jzmq без ошибок.
Но на нашем тестовом / производственном сервере я получаю это. Приложение запускается и из 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 ответ
Вот что я должен сделать, чтобы он работал на Windows, OS X и Ubuntu:
Автобусный пакет также содержит учреждение паба / юга, поэтому вы можете обратиться к нему