Skip to content

Commit 3c6b046

Browse files
authored
docs(readme): call out C toolchain prerequisite for source builds (#92)
Without gcc/clang on PATH, CGO is silently disabled and `go build` / `go install` fails at the call site with `undefined: sqlitevec.LoadInto` rather than a clear toolchain error, because `internal/sqlitevec/load.go` is gated by `//go:build cgo`. The README's "Build from source" section already assumed CGO_ENABLED=1 in the command but never said how to make that actually work — leaving the next from-source builder to chase a misleading "undefined symbol" error. Add a short prerequisites paragraph above the build commands, pointing at the existing comprehensive list in docs/getting-started.md.
1 parent fe0ddbd commit 3c6b046

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,14 @@ embed or extract) return `503 {"code": "llm_disabled"}`.
177177

178178
## Build from source
179179

180+
**Prerequisites:** Go ≥ 1.25, Node ≥ 22, and a working C toolchain
181+
(`build-essential` on Debian/Ubuntu, `xcode-select --install` on macOS,
182+
MinGW-w64 / MSYS2 on Windows). Without `gcc` on `PATH`, CGO is silently
183+
disabled and the build fails at the call site with a misleading
184+
`undefined: sqlitevec.LoadInto` rather than a clear toolchain error,
185+
because `internal/sqlitevec/load.go` is gated by `//go:build cgo`. Full
186+
list: [`docs/getting-started.md`](docs/getting-started.md#prerequisites).
187+
180188
```bash
181189
# First time on a connected machine
182190
npm --prefix ui ci # install UI deps

0 commit comments

Comments
 (0)