Commit bfc766c
committed
Windows arm64: disable OpenMP so the clang-cl build is self-contained
The clang-cl fix worked (jllama.dll linked for Windows/aarch64), but the next
step failed at test discovery: gtest_discover_tests could not launch
jllama_test.exe -> exit 0xc0000135 (STATUS_DLL_NOT_FOUND).
Root cause: with clang-cl, ggml links LLVM's OpenMP runtime (libomp.lib ->
needs libomp140.aarch64.dll at run time). Unlike MSVC's ambient vcomp140.dll on
x64, that DLL is not on PATH, so neither the test exe nor a consumer could load
the binary. (Upstream llama.cpp works around this by copying libomp140.aarch64.dll
next to its arm64 output.)
Fix: pass -DGGML_OPENMP=OFF for the arm64 job. ggml falls back to its own
std::thread threadpool, so both jllama_test.exe and the shipped arm64 jllama.dll
are self-contained with no libomp dependency to ship — cleaner than bundling an
LLVM OpenMP DLL into the default JAR. The x86_64/x86 jobs keep OpenMP (MSVC vcomp,
which is ambient and already proven). Also updated the job comment + CLAUDE.md to
record that VC\Tools\Llvm\ARM64 supplies clang-cl/lld-link (no separate LLVM
install needed) and the OpenMP rationale.
The getenv/strdup/ctime deprecation messages in the same log are warnings only
(clang-cl flagging POSIX names against the MSVC UCRT headers), not the failure.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HL7d4uQ3cKR5HwYFPvZvv71 parent d9a6a83 commit bfc766c
2 files changed
Lines changed: 16 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
887 | 887 | | |
888 | 888 | | |
889 | 889 | | |
890 | | - | |
891 | | - | |
892 | | - | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
893 | 898 | | |
894 | 899 | | |
895 | 900 | | |
| |||
909 | 914 | | |
910 | 915 | | |
911 | 916 | | |
912 | | - | |
| 917 | + | |
913 | 918 | | |
914 | 919 | | |
915 | 920 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
301 | 301 | | |
302 | 302 | | |
303 | 303 | | |
304 | | - | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
305 | 311 | | |
306 | 312 | | |
307 | 313 | | |
| |||
0 commit comments