ZMQ - libzmq.so.3: невозможно открыть общий объектный файл: нет такого файла или каталога
Я пытаюсь встроить zeroMQ
в моем приложении я следовал этому руководству, чтобы установить ZMQ
так что пока здесь все отлично работает. У меня есть эта строка кода в моем приложении:
ZMQ.Context m_context = ZMQ.context(1);
но над строкой кода поднимите ниже исключения:
Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/libjzmq-812339378390536247.lib: libzmq.so.3: 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:1825)
at java.lang.Runtime.load0(Runtime.java:792)
at java.lang.System.load(System.java:1059)
at org.zeromq.EmbeddedLibraryTools.loadEmbeddedLibrary(EmbeddedLibraryTools.java:136)
at org.zeromq.EmbeddedLibraryTools.<clinit>(EmbeddedLibraryTools.java:22)
at org.zeromq.ZMQ.<clinit>(ZMQ.java:38)
at com.castaclip.verticals.Messenger.<init>(Messenger.java:125)
at com.castaclip.verticals.PushMessenger.<init>(PushMessenger.java:30)
at com.castaclip.verticals.pushserver.App.setup(App.java:60)
at com.castaclip.verticals.pushserver.App.main(App.java:41)
Ошибка точно указывает на эту строку.
PS: немного сложно полностью объяснить этот вопрос.. если у вас есть какие-либо вопросы, пожалуйста, дайте мне знать. Благодарю.
3 ответа
Если вы успешно построили libzmq и jzmq в таком порядке, я бы запустил:
$ sudo ldconfig
обновить кеш системной библиотеки. Затем я бы проверил, определен ли LD_LIBRARY_PATH, как упомянул Раффиан, или явно установил путь к вашей библиотеке:
$ java -Djava.library.path=/usr/lib:/usr/local/lib
Наконец я попытался выяснить проблему. Я использовал zeromq-2.1.10
и это было частью проблемы.
Итак, я установил zeromq-3.2.3
из источника и проблема решена.
Я столкнулся с загадочным экземпляром этого сообщения, когда я:
# java -Djava.library.path=/usr/hf/zmq/lib/ -cp '/usr/hf/lib/*:.' com.zmqtest.MA
Exception in thread "main"
java.lang.UnsatisfiedLinkError: /usr/hf/zmq/lib/libjzmq.so:
libzmq.so.3: cannot open shared object file: No such file or directory
который был исправлен с помощью решения, которое не имеет никакого смысла для меня:
# LD_LIBRARY_PATH=/usr/hf/zmq/lib/ java -Djava.library.path=/usr/hf/zmq/lib/ -cp '/usr/hf/lib/*:.' com.zmqtest.MA
странно.