Set env CGO_ENABLED=0 for goreleaser to avoid dynamic linking #1293
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Binaries that are being built by the goreleaser don't have the CGO_ENABLED=0 env set which means they are dynamically linked to
/lib64/ld-linux-x86-64.so.2 (or whichever version of ld-linux)
In some versions of distros, there are different versions ld-linux which makes the swag not start properly.
In my case, I wanted to download the release binary into intermediate docker based on alpine to generate API documentation and it was always failing with "file not found" error.
NOTE: This change was not tested - I don't have the whole setup to test the goreleaser
sources:
https://jvns.ca/blog/2021/11/17/debugging-a-weird--file-not-found--error/
https://goreleaser.com/customization/build/
Describe the PR
Add CGO_ENABLED=0 into .goreleaser
Relation issue
Additional context