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

mongodb fails to build with glibc-2.34

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 5.2.0, 4.4.11, 4.2.18, 5.0.4, 5.1.0-rc2
    • Affects Version/s: 4.4.8, 5.0.2
    • Component/s: None
    • None
    • Fully Compatible
    • ALL
    • v5.1, v5.0, v4.4, v4.2, v4.0
      • update to glibc 2.34
      • build mongodb server
    • Dev Platform 2021-09-20, Dev Platform 2021-10-04, Dev Platform 2021-10-18

      Building the server fails with:

                       from src/mongo/db/auth/authorization_session.h:39,
                       from src/mongo/s/commands/cluster_refine_collection_shard_key_cmd.cpp:34:
      src/mongo/stdx/thread.h:110:56: error: call to non-‘constexpr’ function ‘long int sysconf(int)’
        110 |         std::max(kMongoMinSignalStackSize, std::size_t{MINSIGSTKSZ});
            |                                                        ^~~~~~~~~~~
      In file included from /usr/include/boost/config/stdlib/libstdcpp3.hpp:78,
                       from /usr/include/boost/config.hpp:48,
      

       
      This is due to changes in glibc-2.34 (https://sourceware.org/pipermail/libc-alpha/2021-August/129718.html):

      * Add _SC_MINSIGSTKSZ and _SC_SIGSTKSZ.  When _DYNAMIC_STACK_SIZE_SOURCE
        or _GNU_SOURCE are defined, MINSIGSTKSZ and SIGSTKSZ are no longer
        constant on Linux.  MINSIGSTKSZ is redefined to sysconf(_SC_MINSIGSTKSZ) and SIGSTKSZ is redefined to sysconf (_SC_SIGSTKSZ).  This supports dynamic sized register sets for modern architectural features like Arm SVE. 

       

      Downstream bug: https://bugs.gentoo.org/806773

            Assignee:
            andrew.morrow@mongodb.com Andrew Morrow (Inactive)
            Reporter:
            hydrapolic@gmail.com Tomas Mozes
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: