← all conversations

Install Ollama v0.17.1-rc2

2026-02-265 turns14,924 charsgpt-5-21 fork(s)
ollamamodel-loadingmetal

Summary

The user is trying to install Ollama v0.17.1-rc2 and encountering a 500 error when using the chat API with a model loaded via Metal on Apple M4 Pro.

Messages

⑂ thread forked here
I want to install https://github.com/ollama/ollama/tree/v0.17.1-rc2
Here’s how you can **install Ollama from the v0.17.1-rc2 release on your system** — including both general install methods and how to work with the specific release you linked on GitHub: citeturn0view0 --- ## 📦 1) Install Prebuilt Ollama (Easy) Ollama provides an installer script that fetches the latest or a **specific version** (including release candidates like *v0.17.1-rc2*). This works on macOS & Linux terminals: ### ✅ macOS / Linux (recommended) ```sh curl -fsSL https://ollama.com/install.sh | OLLAMA_VERSION=0.17.1-rc2 sh ``` This will: - Download and install the **v0.17.1-rc2** version (pre-release) of Ollama - Place the `ollama` executable in your PATH - Register the service (Linux) so you can run models locally 💡 After install, run to check: ```sh ollama -v ``` You should see version *0.17.1-rc2* printed (if that release is published and available via the install script). citeturn0reddit29 --- ## 🧑‍💻 2) Build From Source (Advanced / GitHub) If the version *v0.17.1-rc2* **isn’t available via the installer script** or you want to build it yourself, you can clone and compile the source. ### Steps (macOS & Linux) ```sh # Clone the repo at the pre-release tag git clone https://github.com/ollama/ollama.git cd ollama git checkout v0.17.1-rc2 # Build with Go (Ol
lama is written in Go) go build ./cmd/ollama # Move the binary into your PATH sudo mv ollama /usr/local/bin/ ``` You may also need: - Go installed (go1.20 or later) - CMake & build tools (Linux/macOS dev tools) After that you can run: ```sh ollama serve # starts the local server ollama -v # verify version ``` This builds the `ollama` CLI launcher locally rather than downloading prebuilt binaries. --- ## 🐳 3) Using Docker (Alternative) If you don’t want to install directly on your machine, you can use the official Docker image: ```sh docker run -d \ -v ollama_data:/root/.ollama \ -p 11434:11434 \ ollama/ollama:0.17.1-rc2 ``` This runs Ollama in a container with persistent model storage. > Note: Replace `0.17.1-rc2` with the literal tag (if the Docker image for that tag exists on Docker Hub). citeturn0search1 --- ## 📌 After Installation Once `ollama` is installed, you can: ### 🔽 Download / run models ```sh ollama run gemma3 # latest Gemma 3 model ollama run gemma3:1b # specify size ``` ### 📊 Check local server ```sh ollama serve # start service ollama list # list downloaded models ``` ### 🛠 Install client libraries ```sh pip install ollama # Python npm install ollama # Javascript ``` And then use them: ```python from ollama import chat response = chat(model='gemma3', messages=[{'role':'user','content':'Hello'}]) print(response.message.content) ``` --- ## 🧠 Notes & Troubleshooting - Make sure your shell session picks up the new `PATH` after installation. - Some Linux installer versions historically shipped mismatched serve binaries — building from source avoids that.citeturn0search6 - GPU support depends on your GPU and drivers. --- If you want, I can also walk through running specific models (e.g., *gpt-oss*, *Gemma*) after installation step-by-step. Just let me know!
gpt-5-2
Here’s how to **install and build link_titleollama/ollama v0.17.1-rc2 turn0view0** from source on your machine (including a quick “cloning the tag” step and building it locally). --- ## 🧱 1. Clone the v0.17.1-rc2 Source You want the release candidate tag you linked: ```bash git clone https://github.com/ollama/ollama.git cd ollama git checkout v0.17.1-rc2 ``` This checks out the exact version you’re targeting. citeturn0view0 --- ## 🛠️ 2. Install Build Dependencies Before building from source, install the required tools for your platform: ### 📌 Prerequisites (common) - **Go** (1.22 or later) — required to compile the main binary - **CMake** — used for native LLM code compilation (for some platforms) - **GCC/Clang (or Visual Studio on Windows)** — for native build toolchain Example on **Linux**: ```bash sudo apt install build-essential cmake golang ``` Example on **macOS**: ```bash brew install cmake go ``` On **Windows**, install Visual Studio with *Desktop development with C++* and set up mingw/msys2 for POSIX tooling if needed for CGO. citeturn1search1 --- ## 🧠 3. Build and Run Ollama ### 👩‍💻 Simple Build From the root of the repository: ```bash # Optionally clear caches go clean -cache # Build a local binary go build . ``` That produces an `ollama` executable in the current directory. ### 🚀 Run Server Once built, start the Ollama server: ```bash ./ollama serve ``` Then in a separate terminal: ```bash ./ollama run llama3.2 ``` This runs a model (e.g., `llama3.2`) locally. citeturn1search1 --- ## 🧩 Alternate Build (with CMake) On **macOS Intel**, **Windows**, or if you want a more traditional native build: 1. Generate build files: ```bash cmake -B build ``` 2. Build the project: ```bash cmake --build build ``` 3. Run: ```bash ./ollama serve ``` This is useful if you need native acceleration support (e.g., GPU features). Requirements like CUDA or ROCm are optional but may require additional setup. citeturn1search1 --- ## 📌 Notes & Tips ✔ **CGO:** Ollama includes parts in Go that call C code, so CGO must be enabled (which it is by default when a C toolchain is present). citeturn1search1 ✔ **Model downloads:** Once the server is running, you can pull models (like `gemma3`) using: ```bash ollama pull gemma3 ``` ✔ Building the server doesn’t download models automatically — models are pulled at runtime. citeturn1search11 --- ## 🚢 Quick “Install Script” Option If you don’t need a custom compile and just want the *v0.17.x-rc* version installed system-wide, you can sometimes install specific versions via the installer script: ```bash curl -fsSL https://ollama.com/install.sh | OLLAMA_VERSION=0.17.1-rc2 sh ``` However **this depends on whether that tag exists in the install script’s artifact registry** — many pre-release tags are _not_ hosted there. citeturn0reddit28 --- ## 🏁 Recap | Step | Action | |------|--------| | **1** | Clone the tagged source (`v0.17.1-rc2`) | | **2** | Install Go, CMake, C/C++ compiler | | **3** | Build with `go build` or via CMake | | **4** | Run server + pull/run models | --- If you want, I can give you a **ready-made script** (bash/PowerShell) for your exact OS (Linux/macOS/Windows) that automates these steps — just tell me your OS.
gpt-5-2
[GIN] 2026/02/26 - 12:32:52 | 500 | 213.969208ms | 127.0.0.1 | POST "/api/chat" llama_model_load_from_file_impl: using device Metal (Apple M4 Pro) (unknown id) - 38338 MiB free llama_model_loader: loaded meta data with 42 key-value pairs and 851 tensors from /Users/danielkliewer/.ollama/models/blobs/sha256-728960e4dda52d4f2af5bee09b2cbe86addfa93220fe9324bfac9dc727605c17 (version GGUF V3 (latest)) llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output. llama_model_loader: - kv 0: general.architecture str = qwen35 llama_model_loader: - kv 1: general.type str = model llama_model_loader: - kv 2: general.sampling.top_k i32 = 20 llama_model_loader: - kv 3: general.sampling.top_p f32 = 0.950000 llama_model_loader: - kv 4: general.sampling.temp f32 = 0.600000 llama_model_loader: - kv 5: general.name str = Qwen3.5-27B llama_model_loader: - kv 6: general.basename str = Qwen3.5-27B llama_model_loader: - kv 7: general.quantized_by str = Unsloth llama_model_loader: - kv 8: general.size_label str = 27B llama_model_loader: - kv 9: general.license str = apache-2.0 llama_model_loader: - kv 10: general.license.link str = https://huggingface.co/Qwen/Qwen3.5-2... llama_model_loader: - kv 11: general.repo_url str = https://huggingface.co/unsloth llama_model_loader: - kv 12: general.tags arr[str,1] = ["image-text-to-text"] llama_model_loader: - kv 13: qwen35.block_count u32 = 64 llama_model_loader: - kv 14: qwen35.context_length u32 = 262144 llama_model_loader: - kv 15: qwen35.embedding_length u32 = 5120 llama_model_loader: - kv 16: qwen35.feed_forward_length u32 = 17408 llama_model_loader: - kv 17: qwen35.attention.head_count u32 = 24 llama_model_loader: - kv 18: qwen35.attention.head_count_kv u32 = 4 llama_model_loader: - kv 19: qwen35.rope.dimension_sections arr[i32,4] = [11, 11, 10, 0] llama_model_loader: - kv 20: qwen35.rope.freq_base f32 = 10000000.000000 llama_model_loader: - kv 21: qwen35.attention.layer_norm_rms_epsilon f32 = 0.000001 llama_model_loader: - kv 22: qwen35.attention.key_length u32 = 256 llama_model_loader: - kv 23: qwen35.attention.value_length u32 = 256 llama_model_loader: - kv 24: qwen35.ssm.conv_kernel u32 = 4 llama_model_loader: - kv 25: qwen35.ssm.state_size u32 = 128 llama_model_loader: - kv 26: qwen35.ssm.group_count u32 = 16 llama_model_loader: - kv 27: qwen35.ssm.time_step_rank u32 = 48 llama_model_loader: - kv 28: qwen35.ssm.inner_size u32 = 6144 llama_model_loader: - kv 29: qwen35.full_attention_interval u32 = 4 llama_model_loader: - kv 30: qwen35.rope.dimension_count u32 = 64 llama_model_loader: - kv 31: tokenizer.ggml.model str = gpt2 llama_model_loader: - kv 32: tokenizer.ggml.pre str = qwen35 llama_model_loader: - kv 33: tokenizer.ggml.tokens arr[str,248320] = ["!", "\"", "#", "$", "%", "&", "'", ... llama_model_loader: - kv 34: tokenizer.ggml.token_type arr[i32,248320] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... llama_model_loader: - kv 35: tokenizer.ggml.merges arr[str,247587] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",... llama_model_loader: - kv 36: tokenizer.ggml.eos_token_id u32 = 248046 llama_model_loader: - kv 37: tokenizer.ggml.padding_token_id u32 = 248044 llama_model_loader: - kv 38: tokenizer.ggml.add_bos_token bool = false llama_model_loader: - kv 39: tokenizer.chat_template str = {%- set image_count = namespace(value... llama_model_loader: - kv 40: general.quantization_version u32 = 2 llama_model_loader: - kv 41: general.file_type u32 = 15 llama_model_loader: - type f32: 353 tensors llama_model_loader: - type q8_0: 96 tensors llama_model_loader: - type q4_K: 263 tensors llama_model_loader: - type q5_K: 96 tensors llama_model_loader: - type q6_K: 43 tensors print_info: file format = GGUF V3 (latest) print_info: file type = Q4_K - Medium print_info: file size = 15.58 GiB (4.98 BPW) llama_model_load: error loading model: error loading model architecture: unknown model architecture: 'qwen35' llama_model_load_from_file_impl: failed to load model time=2026-02-26T12:32:55.098-06:00 level=INFO source=sched.go:473 msg="NewLlamaServer failed" model=/Users/danielkliewer/.ollama/models/blobs/sha256-728960e4dda52d4f2af5bee09b2cbe86addfa93220fe9324bfac9dc727605c17 error="unable to load model: /Users/danielkliewer/.ollama/models/blobs/sha256-728960e4dda52d4f2af5bee09b2cbe86addfa93220fe9324bfac9dc727605c17" [GIN] 2026/02/26 - 12:32:55 | 500 | 212.2515ms | 127.0.0.1 | POST "/api/chat"
This line is the entire problem: ``` error loading model architecture: unknown model architecture: 'qwen35' ``` Your **Ollama binary does not recognize the `qwen35` architecture** inside that GGUF. --- ## ✅ What’s Happening The model metadata shows: ``` general.architecture = qwen35 ``` That architecture was added **very recently** in `llama.cpp`, and your Ollama build (even though you checked out `v0.17.1-rc2`) does **not include support for it**. So the model loads fine… The tensors are valid… Metal is detected… Memory is fine (38GB free on your M4 Pro)… But Ollama simply doesn’t know what `qwen35` means. --- # 🔥 The Real Fix You need **a newer Ollama version that includes updated llama.cpp support for Qwen 3.5**. `v0.17.1-rc2` is too old for this model. --- # 🧠 Why This Happens Ollama vendors a specific commit of `llama.cpp`. When new architectures are added (like: - `qwen2` - `qwen2.5` - `qwen35` - etc. ), Ollama must update its embedded llama.cpp version. Your build is using an older commit that predates Qwen 3.5 support. --- # 🛠️ Solution Options ## Option 1 — Easiest (Recommended) Install the latest Ollama main branch: ```bash git checkout main git pull go clean -cache go build . ``` Then restart: ```bash ./ollama serve ``` That will include updated architecture support. --- ## Option 2 — Install Latest Release Binary If you don’t specifically need rc2: ```bash brew upgrade ollama ``` or ```bash curl -fsSL https://ollama.com/install.sh | sh ``` --- ## Option 3 — Downgrade the Model If you must stay on `v0.17.1-rc2`, you need a model built with: - `qwen2` - `llama` - `mistral` - etc. But **Qwen 3.5 will not work**. --- # 💡 Why Your Setup Is Otherwise Perfect Your logs show: - ✅ Metal backend detected (Apple M4 Pro) - ✅ 38GB VRAM free - ✅ Model file valid - ✅ GGUF V3 - ✅ Quantized Q4_K (15.6GB — good fit) So the hardware side is totally fine. This is 100% a **binary compatibility issue**. --- # 🚀 My Recommendation For You Given you're building local-first tooling and experimenting with models: I would: ```bash git checkout main go build . ``` Stay on bleeding-edge if you want to test newer architectures like Qwen 3.5. You’re exactly the kind of person who benefits from tracking upstream. --- If you want, paste: ```bash ollama --version ``` and I’ll tell you precisely which llama.cpp commit you're on and whether it supports qwen35.
gpt-5-2