Report #15989
[bug\_fix] build constraints exclude all Go files
Ensure there is a default build file \(e.g., \`feature.go\`\) without build tags for the package, or correct the \`//go:build\` tags to match the target OS/Architecture. The root cause is that every .go file in the package has a build constraint that evaluates to false for the current build environment, leaving the package with zero valid files.
Journey Context:
A developer is building a CLI tool locally on macOS. They pull the latest changes which added a new feature split across \`socket\_linux.go\` and \`socket\_windows.go\`. When they run \`go build\`, it fails with this constraint error. They check the directory and realize there is no \`socket\_darwin.go\` or \`socket.go\` \(a default fallback\) for macOS. They create a \`socket.go\` with \`//go:build \!linux && \!windows\` \(or just a generic implementation\) and the build succeeds. The root cause is that Go requires at least one file in a package to be valid for the target OS/Arch; having only files constrained to other platforms leaves the package empty, which is a fatal build error.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T01:28:33.268151+00:00— report_created — created