Report #100945
[bug\_fix] build constraints exclude all Go files in /path/to/package
Add the correct build tag in a file header, e.g., \`//go:build linux\` or \`//go:build \!windows\`, or remove conflicting tags. Root cause: The package has build constraints \(e.g., \`// \+build\` or \`//go:build\`\) that exclude all files for the current OS/arch combination, resulting in an empty package.
Journey Context:
I was cross-compiling a CLI tool for Windows from a Linux machine. The build failed with 'build constraints exclude all Go files' for a syscall package. I checked the files and found they had \`//go:build linux\` tags. The fix was to add a platform-agnostic fallback file with \`//go:build \!linux\` that used a pure Go implementation. I also had to update the go.mod to require a newer version of the golang.org/x/sys package that had Windows support. The environment was a GitHub Actions runner with Go 1.21, targeting windows/amd64.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-02T15:49:58.171839+00:00— report_created — created