Prebuilt x86_64-unknown-linux-gnu
binaries produce loader errors on systems with older glibc
#1779
Labels
A-Infrastructure
Area: CI, Releases
Hi. I'm attempting to add support for
mdbook
to thetaiki-e/install-action
github action, which downloads prebuilt binaries of developer tools. The work is happening in taiki-e/install-action#4. In theory, this should be fairly straightforward for mdBook, because you already include prebuilt binaries in the release.Unfortunately, the build of the prebuilt binaries is done against
ubuntu-latest
. This means it will link against a very recent version of glibc. This will cause the loader to emit a runtime error from on systems which only have an older glibc. For example, this run of CI produces error output like the following:I believe there are a few options for how to address this. All of these should be changes only to your CI pipeline.
Use
ubuntu-18.04
to perform the build of thex86_64-unknown-linux-gnu
binary. This should solve the issue for us, and should not break when used on systems with newer versions of glibc. This is probably the option I would take, since it seems like the most painless.Provide a binary which statically links against libc, such as one made against the
x86_64-unknown-linux-musl
target. This could be done either instead of or in addition to thex86_64-unknown-linux-gnu
binary.This may or may not be possible for
mdbook
, but if it is possible, I believe it would produce a binary that works on any linux system, regardless of libc version.Do nothing. It's possible it's not worth the trouble for you to provide binaries that run on Linuxes with older versions of glibc, and that the CI test done in
taiki-e/install-action
is overly aggressive.Thank you.
P.S. Sorry if I've misunderstood something, or if this is intentional somehow.
The text was updated successfully, but these errors were encountered: