Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-84539

Bazel Execution Failing in Amazon Linux due to mismatched glibc version

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Build
    • Fully Compatible
    • ALL

      Currently Bazel fails to execute on Amazon Linux because the hermetic gcc is linked with glibc version 2.34, but the system version is 2.26. glibc is backwards compatible, but not forwards compatible.

      A possible solution is building and bundling our own libc with all dynamically loaded dependencies, but this is a pretty big initiative. See https://crosstool-ng.github.io/ for something we could utilize to do this for us.

      The other solution is to build gcc with an earlier version of glibc. Since it's backwards compatible, gcc will then be runnable on systems with newer versions of glibc. One drawback to this is that we would potentially lose out on new ABI breaking features in glibc that may improve compilation speed. We also may be forced to upgrade to a newer version of glibc if a newer gcc requires it. This however should not affect the resulting binaries built (they should be bitwise identical regardless of glibc version).

            Assignee:
            zack.winter@mongodb.com Zack Winter
            Reporter:
            zack.winter@mongodb.com Zack Winter
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: