-
Notifications
You must be signed in to change notification settings - Fork 4
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
Envoy 1.19 / Centos 7 / GLIBC_2_18 compatibility issue #17
Comments
hi @WeirdBob getenvoy and all things associated with that are gone now. specific to this topic, we aren't using a different build pipeline: the envoy binary here was extracted from the official docker image during archive-envoy That said, this is an issue.. we don't have a CI dimension for centos. We can take a look and try to help figure out what can be done about it. Thanks for reporting! |
@mathetake maybe you can help elaborate options on this one as you are more familiar with the parts inside. Here are some bread crumbs, though some may be irrelevant. This isn't an attempt to find a reason to not support centos, rather show what might be in front of us given the envoy project's decisions. Custom builds are extremely expensive so, upstream adjustments are preferred vs going back into the labor pit of perpetually broken custom builds.
|
verified this is the case even on envoy's build image. this hints at a custom build being needed, and there are various things on the internet about glibc locking what can be used on centos 7 (and corresponding rhel). $ docker run -ti --rm envoyproxy/envoy-build-centos:2144d692c47e4fc5f4d4e2dab27f08a084c5b346
[root@c4f6c72ca205 /]# curl https://func-e.io/install.sh | bash -s -- -b /usr/local/bin
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9791 100 9791 0 0 4914 0 0:00:01 0:00:01 --:--:-- 4915
tetratelabs/func-e info checking GitHub for latest tag
tetratelabs/func-e info found version: 0.6.0 for v0.6.0/linux/amd64
tetratelabs/func-e info installed /usr/local/bin/func-e
[root@c4f6c72ca205 /]# func-e run --version
looking up latest version
downloading https://archive.tetratelabs.io/envoy/download/v1.19.0/envoy-v1.19.0-linux-amd64.tar.xz
starting: /root/.func-e/versions/1.19.0/bin/envoy --version --admin-address-path /root/.func-e/runs/1628720114081400543/admin-address.txt
/root/.func-e/versions/1.19.0/bin/envoy: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /root/.func-e/versions/1.19.0/bin/envoy)
error: envoy exited with status: 1 Meanwhile, if someone has another source of the envoy binary (built specifically for centos 7), that could be used by overriding ENVOY_VERSIONS_URL to something compliant with the same schema Anyway over to @mathetake for some more intelligent feedback :D Meanwhile I suppose at least we can add a centos 8 dimension to the CI tests to ensure that works. |
OK the problem summarizes as: Envoy's official built binary uses too new libc++ - which uses unsupported ABI in CentOS's too old system glibc. Therefore, we have to build Envoy on CentOS/RHEL 7, but getenvoy project no longer exists and our own CentOS 7 build would never be provided here. Here's two work arounds;
But both of them means you cannot use via func-e. I will think about the solution without building by ourselves, and support CentOS7/RHEL via func-e. But I don't think of any idea for now. |
centos isn't a supported runner in GHA or travis, but you can run it via container with GHA. We need to use an internal image to avoid rate limiting and 12minutes to install prereqs See #338 Signed-off-by: Adrian Cole <[email protected]> Co-authored-by: Takeshi Yoneda <[email protected]>
I'm going to move this to the archive-envoy repository as it is similar to any other non-standard build request (such as nightlies). func-e already works on centos 7 (ex list run work), it is a matter of the source of binaries at this point. Thanks for the elaboration @mathetake! |
In another issue @lizan mentioned upstream won't support CentOS 7 packages. Note that this is different than supporting people with custom builds. For example, fixing custom builds of CentOS 7 is in progress. For people who keep running into this, my personal advise...
Of course another option is moving off CentOS 7. Regardless, please let's not add more issues here, as this project only follows what formal packages support. We've had a burden of having the brunt of Q&A that the envoy project team themselves should be answering, and if they had to answer these questions all the time, maybe they would relent in supporting CentOS 7 again. Adding a bunch of issues here burdens a project with no empowerment or influence to change the mind of the envoy proxy team |
Describe the bug
When trying to use func-e on centos 7, envoy 1.19 fails to start with the message: versions/1.19.0/bin/envoy: /lib64/libc.so.6: version `GLIBC_2.18' not found
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Envoy is compiled with a compatible glibc version (as it was the case with previous getenvoy builds)
Environment (please complete the relevant information):
Additional context
Thanks for you work even if it doesn't work (yet) in my case !
The text was updated successfully, but these errors were encountered: