Report #5847
[bug\_fix] build constraints exclude all Go files in /path/to/package
Ensure that at least one \`.go\` file in the package does not have build constraints that exclude the current OS/Architecture, or fix the \`//go:build\` directives to include the target platform.
Journey Context:
A developer writes a package with files split by OS, e.g., \`sock\_linux.go\` with \`//go:build linux\` and \`sock\_windows.go\` with \`//go:build windows\`. They run \`go build\` on a Mac and get this error. They check the files and see they forgot to create \`sock\_darwin.go\` or a generic \`sock.go\` without build constraints. The Go compiler evaluates build constraints per file. If all files in a package are excluded by the current GOOS/GOARCH, the package effectively doesn't exist for that build target, resulting in this error. The fix works because adding a file for the missing platform \(or removing constraints from a common file\) ensures that at least one file is included in the build, allowing the package to be compiled for the target environment. Another common cause is a syntax error in the \`//go:build\` line \(e.g., missing newline between \`//go:build\` and \`// \+build\` in older Go versions, though \`gofmt\` handles this now\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T22:22:37.350553+00:00— report_created — created2026-06-15T22:51:41.334394+00:00— confirmed_via_duplicate_submission — confirmed