mirror of
https://github.com/Z3Prover/z3
synced 2026-04-02 09:58:59 +00:00
On macOS, libz3java.dylib was built without an rpath to find libz3.dylib in the same directory. When Java loaded the JNI library, the dynamic linker could not resolve the libz3 dependency, causing UnsatisfiedLinkError. Three fixes: - mk_util.py: add -Wl,-rpath,@loader_path to the macOS JNI link command - CMakeLists.txt: set MACOSX_RPATH, BUILD_RPATH, INSTALL_RPATH for z3java target; remove duplicate headerpad block - update_api.py: improve Native.java error message to show the root cause from both load attempts instead of only the fallback error Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| tests | ||
| build-win-signed-cmake.yml | ||
| build-win-signed.yml | ||
| build_libcxx_msan.sh | ||
| coverage.yml | ||
| find_non_defined_param_eval_patterns.py | ||
| generate-doc.yml | ||
| jsdoctest.yml | ||
| mk_consts_files.py | ||
| mk_copyright.py | ||
| mk_def_file.py | ||
| mk_exception.py | ||
| mk_genfile_common.py | ||
| mk_gparams_register_modules_cpp.py | ||
| mk_install_tactic_cpp.py | ||
| mk_make.py | ||
| mk_mem_initializer_cpp.py | ||
| mk_nuget_task.py | ||
| mk_pat_db.py | ||
| mk_project.py | ||
| mk_unix_dist.py | ||
| mk_unix_dist_cmake.py | ||
| mk_util.py | ||
| mk_win_dist.py | ||
| mk_win_dist_cmake.py | ||
| policy.json | ||
| pyg2hpp.py | ||
| README | ||
| test-examples-cmake.yml | ||
| test-java-cmake.yml | ||
| test-jupyter.yml | ||
| test-regressions-coverage.yml | ||
| test-regressions.yml | ||
| test-z3.yml | ||
| trackall.sh | ||
| update_api.py | ||
| update_header_guards.py | ||
| update_include.py | ||
| update_version.py | ||
| VERSION.txt | ||
| vsts-mac.sh | ||
| vsts-vs2013.cmd | ||
| vsts-vs2017.cmd | ||
Instructions for updating external Z3 API ----------------------------------------- The python "macros": def_Type() and def_API() are used to add new types and function definitions to the Z3 API. The .h files provided to `mk_bindings(API_files)` contain these definitions. See src\api\z3_api.h for many examples. The bindings for .Net and Python are generated when mk_make.py is invoked.