Skip to content

Make the kernels native optional, so a binary using lev starts without them - #10

Merged
yogthos merged 1 commit into
mainfrom
optional-kernels
Oct 15, 2026
Merged

yogthos merged 1 commit into
mainfrom
optional-kernels

Conversation

@yogthos

@yogthos yogthos commented Oct 15, 2026

Copy link
Copy Markdown
Member

newsroom's v0.14.0 Windows binary refused to start: ("lev_kernels.dll" "The specified module could not be found"). The kernels spec declares archives for darwin and linux only, so on Windows jolt build encodes it as a required runtime library, falls back to its conventional name, and the load is fatal at startup. Interpreted runs skip the check, which is why Windows CI passed.

:optional true makes it a guarded load, as BLAS already is: the binary starts, lev.tensors/available? is false, and tinydecide/load-release refuses with :model-unavailable. On macOS and Linux the archive is still linked statically.

Checked on linux: a jolt build binary against this branch links the kernels and answers as before; tinydecide-test 211 assertions pass.

…t them

A program that links lev and builds for Windows, where no kernels are
declared, got a binary that refused to start: jolt took the spec with no
archive for the platform as a required runtime library and looked for
lev_kernels.dll. Optional, it starts, and lev.tensors/available? is false.
@yogthos
yogthos merged commit e68e5ca into main Oct 15, 2026
2 checks passed
@yogthos
yogthos deleted the optional-kernels branch October 15, 2026 16:55
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.

1 participant