Skip to content

feat: add native verify command via Jolt verifier FFI#83

Merged
MatteoMer merged 4 commits into
MatteoMer:mainfrom
maxgttph:feat/native-verify-command
Apr 16, 2026
Merged

feat: add native verify command via Jolt verifier FFI#83
MatteoMer merged 4 commits into
MatteoMer:mainfrom
maxgttph:feat/native-verify-command

Conversation

@maxgttph

Copy link
Copy Markdown
Contributor

No description provided.

maxgttph and others added 2 commits April 15, 2026 17:50
linkSystemLibraryOptions has no `preferred` field in Zig 0.15.2; the
correct field is `preferred_link_mode`. Without this fix, `zig build`
errors before reaching the link step.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@MatteoMer

Copy link
Copy Markdown
Owner

Closes #82

MatteoMer and others added 2 commits April 16, 2026 12:31
CI failed on `zig build test` because the cargo step that produces
libjolt_verifier.a was only wired as a dependency of `exe.step` — not
`exe_unit_tests.step`. When only the test step runs, the staticlib is
never built and the link fails with "unable to find static system
library 'jolt_verifier'".

Lift the cargo build step to function scope and factor the link wiring
into a small local helper so both the exe and exe unit tests pull in
the staticlib and depend on the cargo step.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
On Linux, Rust's std references _Unwind_* symbols (rust_eh_personality,
_Unwind_RaiseException, etc.) provided by libgcc_s. Without linking it,
`zig build` on Linux fails with a dozen "undefined symbol: _Unwind_*"
errors when pulling in libjolt_verifier.a.

Also add libdl and librt explicitly — Rust's std typically pulls these
in via crt startup, but being explicit avoids surprises if the linker
decides -lc alone isn't sufficient.

macOS is unaffected: unwind and system libs are resolved via the SDK.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@MatteoMer MatteoMer merged commit 8f1dd46 into MatteoMer:main Apr 16, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants