The release binaries for Linux (at least x64) depend on GLIBC_2.38 and GLIBCXX_3.4.32. These are both relatively recent versions that exclude running the plugin on a number of Linux distros that use older versions and result in the following error:
./protoc-gen-grpc-web-2.0.0-linux-x86_64: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by ./protoc-gen-grpc-web-2.0.0-linux-x86_64)
./protoc-gen-grpc-web-2.0.0-linux-x86_64: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by ./protoc-gen-grpc-web-2.0.0-linux-x86_64)
As an example of the extents of what this supports, the plugin only works on Debian Trixie (13), which was only released last month. Similarly, it is only supported on Ubuntu 24.04+.
Would you consider building on a different (i.e older) Linux distribution to give wider compatibility of glibc versions? Attempting to use build against an older glibc on a newer distribution is not worth the effort vs just building on older distro (having personally tried in past). Assuming your plugins in the release come from the GitHub CI, it could be as simple as using an older Ubuntu release here:
|
matrix: |
|
os: [ubuntu-24.04, ubuntu-24.04-arm] |
Example of failure here: https://buildkite.com/bazel/rules-proto-grpc-rules-proto-grpc/builds/3800/steps/canvas?sid=01990f44-7479-4839-9d82-a70aae621e7a
The release binaries for Linux (at least x64) depend on GLIBC_2.38 and GLIBCXX_3.4.32. These are both relatively recent versions that exclude running the plugin on a number of Linux distros that use older versions and result in the following error:
As an example of the extents of what this supports, the plugin only works on Debian Trixie (13), which was only released last month. Similarly, it is only supported on Ubuntu 24.04+.
Would you consider building on a different (i.e older) Linux distribution to give wider compatibility of glibc versions? Attempting to use build against an older glibc on a newer distribution is not worth the effort vs just building on older distro (having personally tried in past). Assuming your plugins in the release come from the GitHub CI, it could be as simple as using an older Ubuntu release here:
grpc-web/.github/workflows/make-plugin-linux.yml
Lines 21 to 22 in 875e2ba
Example of failure here: https://buildkite.com/bazel/rules-proto-grpc-rules-proto-grpc/builds/3800/steps/canvas?sid=01990f44-7479-4839-9d82-a70aae621e7a