Priority: Minor - P4
Resolution: Works as Designed
Affects Version/s: None
Fix Version/s: None
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).