3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-06-23 17:10:33 +00:00
z3/src/api/java
Lev Nachmanson 2ed4e90c75
Fix Java UnsatisfiedLinkError on macOS (#7640) (#9027)
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>
2026-06-08 19:35:04 -07:00
..
AlgebraicNum.java
ApplyResult.java Improved Java phantom references (#7131) 2024-02-21 08:39:58 -08:00
ArithExpr.java
ArithSort.java
ArrayExpr.java
ArraySort.java Add missing AST query methods to Java API (#8977) 2026-03-14 10:13:42 -07:00
AST.java Add missing AST query methods to Java API (#8977) 2026-03-14 10:13:42 -07:00
ASTMap.java Improved Java phantom references (#7131) 2024-02-21 08:39:58 -08:00
ASTVector.java Improved Java phantom references (#7131) 2024-02-21 08:39:58 -08:00
BitVecExpr.java
BitVecNum.java
BitVecSort.java
BoolExpr.java
BoolSort.java
CharSort.java
CMakeLists.txt Fix Java UnsatisfiedLinkError on macOS (#7640) (#9027) 2026-06-08 19:35:04 -07:00
Constructor.java Improved Java phantom references (#7131) 2024-02-21 08:39:58 -08:00
ConstructorList.java Improved Java phantom references (#7131) 2024-02-21 08:39:58 -08:00
Context.java fix issues 1-10: add missing API bindings across Go, Julia, TypeScript, OCaml, and Java (#9432) 2026-05-04 09:29:47 -07:00
DatatypeExpr.java
DatatypeSort.java Add missing AST query methods to Java API (#8977) 2026-03-14 10:13:42 -07:00
EnumSort.java
Expr.java Add numeral extraction helpers to Java API (#8978) 2026-03-15 10:36:17 -07:00
FiniteDomainExpr.java
FiniteDomainNum.java
FiniteDomainSort.java
FiniteSetSort.java Add finite set API support for C# and Java bindings (#8003) 2025-11-04 15:57:55 -08:00
Fixedpoint.java Improved Java phantom references (#7131) 2024-02-21 08:39:58 -08:00
FPExpr.java Add missing AST query methods to Java API (#8977) 2026-03-14 10:13:42 -07:00
FPNum.java port to BoolPtr 2026-02-18 20:56:02 -08:00
FPRMExpr.java
FPRMNum.java
FPRMSort.java
FPSort.java
FuncDecl.java
FuncInterp.java Improved Java phantom references (#7131) 2024-02-21 08:39:58 -08:00
Global.java
Goal.java Improved Java phantom references (#7131) 2024-02-21 08:39:58 -08:00
IntExpr.java
IntNum.java Add numeral extraction helpers to Java API (#8978) 2026-03-15 10:36:17 -07:00
IntSort.java
IntSymbol.java
Lambda.java Correctly distinguish between Lambda and Quantifier in Z3 Java API (#7955) 2025-09-30 09:55:14 -07:00
ListSort.java
Log.java port to BoolPtr 2026-02-18 20:56:02 -08:00
manifest
Model.java Improved Java phantom references (#7131) 2024-02-21 08:39:58 -08:00
NativeStatic.txt Add missing API bindings: importModelConverter, OnClause, and user propagator 2026-02-23 01:01:26 +00:00
OnClause.java Add missing API bindings: importModelConverter, OnClause, and user propagator 2026-02-23 01:01:26 +00:00
Optimize.java Add missing API methods across language bindings (discussion #8701) 2026-02-20 04:24:22 +00:00
ParamDescrs.java Improved Java phantom references (#7131) 2024-02-21 08:39:58 -08:00
Params.java Improved Java phantom references (#7131) 2024-02-21 08:39:58 -08:00
Pattern.java
Probe.java Improved Java phantom references (#7131) 2024-02-21 08:39:58 -08:00
Quantifier.java
RatNum.java Add numeral extraction helpers to Java API (#8978) 2026-03-15 10:36:17 -07:00
RCFNum.java Add RCF (Real Closed Field) bindings to C++, Java, C#, and TypeScript (#8171) 2026-02-18 20:57:10 -08:00
README Add comprehensive Java IDE setup documentation for ClassNotFoundException (#8260) 2026-02-18 20:57:50 -08:00
RealExpr.java
RealSort.java
ReExpr.java
RelationSort.java
ReSort.java
SeqExpr.java
SeqSort.java
SetSort.java
Simplifier.java Improved Java phantom references (#7131) 2024-02-21 08:39:58 -08:00
Solver.java Add missing API methods: dimacs, translate, proof, addSimplifier, getLower/getUpper, etc. 2026-02-24 17:22:17 +00:00
Sort.java Add missing mkLastIndexOf method and CharSort case to Java API (#8002) 2025-10-30 02:57:52 -07:00
Statistics.java Improved Java phantom references (#7131) 2024-02-21 08:39:58 -08:00
Status.java
StringSymbol.java
Symbol.java
Tactic.java Improved Java phantom references (#7131) 2024-02-21 08:39:58 -08:00
TupleSort.java
TypeVarSort.java Add Java APIs for polymorphic datatypes (#8438) 2026-02-18 20:58:00 -08:00
UninterpretedSort.java
UserPropagatorBase.java add on_binding callbacks across APIs 2025-08-07 12:55:50 -07:00
Version.java
Z3Exception.java
Z3Object.java
Z3ReferenceQueue.java Improved Java phantom references (#7131) 2024-02-21 08:39:58 -08:00

Java bindings
-------------

The Java bindings will be included in the Z3 build if it is configured with   
the option --java to python scripts/mk_make.py. This will produce the   
com.microsoft.z3.jar package in the build directory.

## IDE Setup Guide

For comprehensive instructions on using Z3 Java bindings in IDEs (Eclipse, 
IntelliJ IDEA, Visual Studio Code), including troubleshooting common issues 
like ClassNotFoundException, see:
   ../../../doc/JAVA_IDE_SETUP.md