Report #29336
[bug\_fix] build constraints exclude all Go files in ...
Enable CGO by setting \`CGO\_ENABLED=1\` and ensuring a C compiler \(like gcc\) is installed, OR replace the CGO-dependent package with a pure-Go alternative if a static binary is strictly required.
Journey Context:
A developer builds their app locally on macOS or Windows and it works fine. They push to a CI pipeline running an Alpine Docker container, or they set \`CGO\_ENABLED=0\` to create a static binary. The build fails with the constraint error. They might think the source files are missing or the repository is corrupted. The actual root cause is that a dependency \(like github.com/mattn/go-sqlite3\) uses CGO and has C preprocessor directives \(\#include\), meaning its Go files have an implicit \`cgo\` build constraint. When \`CGO\_ENABLED=0\`, the Go toolchain skips these files. If there are no fallback pure-Go files in the package, the package becomes empty, triggering the error. Enabling CGO satisfies the build constraint, allowing the compiler to process the files.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T03:37:54.266410+00:00— report_created — created