Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.21.0 does not build/work on Apline #459

Closed
Nuru opened this issue Sep 8, 2019 · 5 comments
Closed

v0.21.0 does not build/work on Apline #459

Nuru opened this issue Sep 8, 2019 · 5 comments

Comments

@Nuru
Copy link

Nuru commented Sep 8, 2019

When trying to run goofys v0.21.0 on Apline 3.10.1, the execution fails with missing symbols:

Error relocating goofys: __vfprintf_chk: symbol not found                                                                     
Error relocating goofys: __fprintf_chk: symbol not found                                                                      

This is new, as v0.20.0 works fine.

This appears to be because something was built against glibc but Alpine does not have glibc because it is too big, and the musl and libc6-compat libraries they have do not include these symbols because they are internal symbols and not in the source standard.

I don't know how other go projects handle this, but there are many that are able to make Alpine-compatible binaries, as this project did before, so please fix this.

@fabiant7t
Copy link

@Nuru Building and using it worked for me with Alpine using go get and go install.

Probably musl-dev is missing in your case:

apk add --no-cache musl-dev

@Nuru
Copy link
Author

Nuru commented Oct 24, 2019

@fabiant7t I am not complaining that I cannot build goofys v0.21.0 for Alpine, I am complaining that the released binary at https://github.com/kahing/goofys/releases/download/v0.21.0/goofys does not run on the official Apline Docker image without additions.

One of the best features of go is that it can produce binaries that execute on a wide variety of operating systems and CPU architectures. Publicly released binaries should be able to run without any added dependencies. It appears that you need to specify CGO_ENABLED=0 as part of the build environment in order to cause go to statically link all its dependencies and make the resulting binaries independent of the Linux variant it is running on.

@kahing So this is a request for you to rebuild v0.21.0 with CGO_ENABLED=0 and release a linux_amd64 version binary that runs on the official Alpine distribution without any added dependencies.

@kahing
Copy link
Owner

kahing commented Oct 24, 2019

I don't plan to re-release binaries but I will take this into account for the next release

@Nuru
Copy link
Author

Nuru commented Oct 24, 2019

@kahing How about releasing a v0.21.1 with rebuilt binaries? As it is, I cannot upgrade to 0.21.0 and am stuck on 0.20.0

kahing added a commit that referenced this issue Oct 24, 2019
@gazal-k
Copy link

gazal-k commented Oct 27, 2019

there's another issue a new release can address; IAM role via an OIDC web identity token file. The version of aws-sdk currently in master looks compatible (https://docs.aws.amazon.com/en_pv/eks/latest/userguide/iam-roles-for-service-accounts-minimum-sdk.html)

@kahing kahing closed this as completed Nov 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants