Skip to content

fix(studio): pin llama.cpp to b8637 (Gemma 4 support)#4796

Merged
danielhanchen merged 1 commit intomainfrom
fix/llama-cpp-b8637
Apr 2, 2026
Merged

fix(studio): pin llama.cpp to b8637 (Gemma 4 support)#4796
danielhanchen merged 1 commit intomainfrom
fix/llama-cpp-b8637

Conversation

@danielhanchen
Copy link
Copy Markdown
Contributor

Summary

Changes

  • setup.sh: _DEFAULT_LLAMA_TAG="master" -> "b8637"
  • setup.ps1: $DefaultLlamaTag = "master" -> "b8637"
  • install_llama_prebuilt.py: DEFAULT_LLAMA_TAG fallback "master" -> "b8637"

Test plan

  • Fresh install resolves prebuilt bundle from b8637 (no source build needed)
  • Load Gemma 4 E2B GGUF in Studio -- works with b8637 binary
  • UNSLOTH_LLAMA_TAG env var override still works
  • unsloth studio update picks up the new tag and downloads the prebuilt

ggml-org/llama.cpp b8637 includes Gemma 4 support (ggml-org/llama.cpp#21309).
Revert the temporary "master" default back to a pinned release tag.

This eliminates the HTTP 422 errors from the prebuilt resolver (which
could not find a release matching "master"), avoids unnecessary source
builds, and restores prebuilt binary downloads on all platforms.
@danielhanchen danielhanchen merged commit 8d1712b into main Apr 2, 2026
5 checks passed
@danielhanchen danielhanchen deleted the fix/llama-cpp-b8637 branch April 2, 2026 18:43
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the default llama.cpp tag from master to b8637 across the Python, PowerShell, and Shell setup scripts. While this change addresses HTTP 422 errors associated with the master branch, feedback indicates that prebuilt resolution will still fail and fall back to source builds because the official repository lacks the required manifest file.



DEFAULT_LLAMA_TAG = os.environ.get("UNSLOTH_LLAMA_TAG", "master")
DEFAULT_LLAMA_TAG = os.environ.get("UNSLOTH_LLAMA_TAG", "b8637")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

While pinning to b8637 correctly avoids the HTTP 422 errors associated with the master ref, prebuilt resolution will likely still fail. The logic in resolve_install_release_plans requires a llama-prebuilt-manifest.json asset (line 1182), which is absent from official ggml-org/llama.cpp releases. Consequently, the script will continue falling back to source builds unless DEFAULT_PUBLISHED_REPO (line 65) is reverted to a repository containing the expected Unsloth metadata, or the resolution logic is updated to support manifest-less releases.

@danielhanchen
Copy link
Copy Markdown
Contributor Author

Updated to use "latest" instead of "b8637" so the prebuilt resolver always picks the newest ggml-org/llama.cpp release automatically. This way we don't need to bump the tag manually for future releases.

The current latest release (b8637) includes Gemma 4 support via ggml-org/llama.cpp#21309, so this resolves the gemma4 architecture errors and the HTTP 422 issues from the "master" tag.

danielhanchen added a commit that referenced this pull request Apr 2, 2026
* fix(studio): revert llama.cpp default tag to latest

The latest ggml-org/llama.cpp release (b8637) now includes Gemma 4
support. Revert the temporary "b8637" pin from #4796 to "latest" so
the prebuilt resolver always picks the newest release automatically
without needing manual tag bumps.

* docs: add comment explaining latest vs master for llama.cpp tag

Document in all three files why "latest" is preferred over "master"
and when "master" should be used as a temporary override.

---------

Co-authored-by: Daniel Han <[email protected]>
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