[GH-ISSUE #8781] Please improve dev docs #5702

Closed
opened 2026-04-12 16:59:48 -05:00 by GiteaMirror · 4 comments
Owner

Originally created by @Rudxain on GitHub (Feb 3, 2025).
Original GitHub issue: https://github.com/ollama/ollama/issues/8781

My brain broke by trying to understand that documentation

Originally created by @Rudxain on GitHub (Feb 3, 2025). Original GitHub issue: https://github.com/ollama/ollama/issues/8781 [My brain broke by trying to understand that documentation](https://github.com/ollama/ollama/issues/1006#issuecomment-2629692199)
Author
Owner

@pdevine commented on GitHub (Feb 3, 2025):

@Rudxain the build process just changed with https://github.com/ollama/ollama/pull/8539 so the docs have just been updated here.

Was there something which was unclear?

<!-- gh-comment-id:2631887976 --> @pdevine commented on GitHub (Feb 3, 2025): @Rudxain the build process _just_ changed with https://github.com/ollama/ollama/pull/8539 so the docs have just been updated [here](https://github.com/ollama/ollama/blob/main/docs/development.md). Was there something which was unclear?
Author
Owner

@Rudxain commented on GitHub (Feb 3, 2025):

I'm sorry, I was tired. And it's my fault for reading an unofficial tutorial which got me more confused.

I believe I'm starting to understand a bit more, but I have doubts:

  • Is CMake for release builds while go generate for debug builds? When I built the server with generate, it logged warnings about running in debug mode
  • I see the repo has a makefile: do I always need to install Make in addition to CMake? Is it only necessary in some cases?
  • Does go generate run scripts that call CMake? If not, then I don't have to install CMake
  • When should go run be used, and when it's not recommended?
<!-- gh-comment-id:2632070059 --> @Rudxain commented on GitHub (Feb 3, 2025): I'm sorry, I was tired. And it's my fault for reading an unofficial tutorial which got me more confused. I believe I'm starting to understand a bit more, but I have doubts: - Is CMake for release builds while `go generate` for debug builds? When I built the server with `generate`, it logged warnings about running in debug mode - I see the repo has a makefile: do I always need to install Make in addition to CMake? Is it only necessary in some cases? - Does `go generate` run scripts that call CMake? If not, then I don't have to install CMake - When should `go run` be used, and when it's not recommended?
Author
Owner

@mxyng commented on GitHub (Feb 5, 2025):

We suggest using development.md as the source of truth as we aim to keep it up to date with the latest changes.

Is CMake for release builds while go generate for debug builds?

go generate is not supported anymore. Please use CMake

do I always need to install Make in addition to CMake

Make is only used to synchronize with upstream dependencies. However, CMake requires a generator. On Linux, this is likely Makefile but alternative exists such as Ninja

Does go generate run scripts that call CMake?

CMake is required to build additional, dynamically loaded backends. Some platforms do not have additional backends so CMake is unnecessary

When should go run be used, and when it's not recommended?

go run is used to build and run the Ollama Go binary. It's essentially a shortcut for go build . && ./ollama

<!-- gh-comment-id:2635555830 --> @mxyng commented on GitHub (Feb 5, 2025): We suggest using [development.md](https://github.com/ollama/ollama/blob/main/docs/development.md) as the source of truth as we aim to keep it up to date with the latest changes. > Is CMake for release builds while go generate for debug builds? `go generate` is not supported anymore. Please use CMake > do I always need to install Make in addition to CMake Make is only used to synchronize with upstream dependencies. However, CMake requires a generator. On Linux, this is likely Makefile but alternative exists such as Ninja > Does go generate run scripts that call CMake? CMake is required to build additional, dynamically loaded backends. Some platforms do not have additional backends so CMake is unnecessary > When should go run be used, and when it's not recommended? `go run` is used to build and run the Ollama Go binary. It's essentially a shortcut for `go build . && ./ollama`
Author
Owner

@Rudxain commented on GitHub (Feb 5, 2025):

Oh ok thanks! I'm new to development in Golang (well, not entirely), and very new to CMake. I asked some "stupid" questions because of that

<!-- gh-comment-id:2637812435 --> @Rudxain commented on GitHub (Feb 5, 2025): Oh ok thanks! I'm new to development in Golang (well, [not entirely](https://github.com/baris-inandi/bfgo/pull/3)), and **very** new to CMake. I asked some "stupid" questions because of that
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/ollama#5702