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

Document upper bounds on supported compiler versions

    • Type: Icon: Improvement Improvement
    • Resolution: Works as Designed
    • Priority: Icon: Minor - P4 Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Server Development Platform

      The server building documentation currently gives lower bounds on supported compiler versions, but not upper bounds. For example, https://github.com/mongodb/mongo/blob/master/docs/building.md presently says:

      A modern C++ compiler capable of compiling C++17. One of the following is required:

      GCC 8.2 or newer
      Clang 7.0 (or Apple XCode 10.2 Clang) or newer
      Visual Studio 2019 version 16.4 or newer (See Windows section below for details)

      As a server version ages, it ceases to be buildable with modern compilers (for example, the version of GCC provided by default by Debian testing). This came up for 3.0 in SERVER-49429 with GCC 9 and for 4.0 in SERVER-55395 with GCC 10.

      Neither 4.0 nor 3.2 branches (to take two arbitrary examples) currently specify an upper limit on acceptable/supported compilers (https://github.com/mongodb/mongo/blob/r4.0.23/docs/building.md, https://github.com/mongodb/mongo/blob/r3.2.22/docs/building.md).

      As a user of the server I would like to know which compilers are known to work with particular server versions. For example, I can trivially install GCC 9 presently. If GCC 9 is supported (and tested) for building 4.0 server, I would simply build 4.0 with GCC 9. However the documentation does not appear to indicate that GCC 9 is in any different position from GCC 10 (or 8).

            backlog-server-devplatform [DO NOT ASSIGN] Backlog - Server Development Platform Team (SDP) (Inactive)
            oleg.pudeyev@mongodb.com Oleg Pudeyev (Inactive)
            0 Vote for this issue
            2 Start watching this issue