首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Z3 Java未能检测到libz3.dylib

Z3 Java未能检测到libz3.dylib
EN

Stack Overflow用户
提问于 2015-11-05 09:47:08
回答 2查看 1.9K关注 0票数 2

TL;DR:我最近升级到了Z3 Java的更新版本,现在我无法加载libz3java.dylib,因为忽略了libz3.dylib依赖项。

我正在使用Z3版本4.4.1。编译项目并将libz3java.dylib放入java.library.path之后,我将得到以下错误消息:

代码语言:javascript
复制
Exception in thread "main" java.lang.UnsatisfiedLinkError: no libz3java in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1119)
at com.microsoft.z3.Native.<clinit>(Native.java:14)
at com.microsoft.z3.Global.ToggleWarningMessages(Global.java:86)

不过,图书馆的道路是正确的。在com.microsoft.z3.jar (自动生成的Native.java )中读取这里文件时,我们可以看到,实际上失败的是System.loadLibrary("z3java");调用。

因此,我尝试手动加载库:

代码语言:javascript
复制
public static void main(String[] args) {
    System.load("/tmp/z3/build/libz3java.dylib");
}

我得到的结果是:

代码语言:javascript
复制
Exception in thread "main" java.lang.UnsatisfiedLinkError: /private/tmp/z3/build/libz3java.dylib:
  dlopen(/private/tmp/z3/build/libz3java.dylib, 1): 
    Library not loaded: libz3.dylib
Referenced from: /private/tmp/z3/build/libz3java.dylib
Reason: image not found

错误指示首先需要加载libz3.dylib。所以我试着用手装。

代码语言:javascript
复制
public static void main(String[] args) {
    System.load("/tmp/z3/build/libz3.dylib");
    System.load("/tmp/z3/build/libz3java.dylib");
}

出乎意料的是,它会产生完全相同的错误。 libz3.dylib的负载成功,但没有任何效果。

  • Z3: 4.4.1
  • Java版本: 1.8.0_25-b17
  • 操作系统: OSX 10.11.1 (El Capitan)

非常感谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2015-11-05 12:48:22

对于错误报告,请使用我们的问题跟踪器这里。但是,在提交错误之前,请确保libz3.dylib和java安装都是64位的,否则这种行为会频繁发生,并且不会产生任何有用的错误消息,看起来加载会被忽略。

票数 0
EN

Stack Overflow用户

发布于 2017-01-12 10:42:12

您可以通过修补libz3java.so来找到它对同一位置的依赖关系,从而解决这个问题:

代码语言:javascript
复制
patchelf --set-rpath '.:$ORIGIN' libz3java.so

如果您对背景感兴趣,可以在http://enroute.osgi.org/appnotes/native-libraries.html阅读

如何安装修补程序在这里:https://installion.co.uk/ubuntu/vivid/universe/p/patchelf/install/index.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33541226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档