Skip to content

Release 2.0.0 Linux binaries depend on GLIBC 2.38+ and GLIBCXX 3.4.32+ #1500

Description

@aaliddell

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions