mongo-c-driver Platform Support#

This page documents information about the target platforms and toolchains that are supported by the mongo-c-driver libraries.

Operating Systems#

The following operating systems are continually tested with mongo-c-driver:

Operating System

Notes

Debian

Versions 9.2, 10.0, and 11.0

RHEL

Versions 7.0, 7.1, 8.1, 8.2, and 8.3. RHEL derivatives (e.g. CentOS, Rocky Linux, AlmaLinux) of the same release version are supported. Fedora is also supported, but not continually tested.

Ubuntu

Versions 16.04, 18.04, and 20.04. Subsequent minor releases are also supported. Ubuntu 22.04 and newer is not yet tested. Ubuntu derivatives based on supported Ubuntu versions are also supported.

Arch Linux

macOS

Version 11.0

Windows Server 2008 and Windows Server 2016

Windows variants of the same generation are supported

Compilers#

The following compilers are continually tested for mongo-c-driver:

Compiler

Notes

Clang

Versions 3.7, 3.8, and 6.0. Newer versions are also supported, as well as the corresponding Apple Clang releases.

GCC

Versions 4.8, 5.4, 6.3, 7.5, 8.2, 8.3, 9.4, and 10.2. The MinGW-w64 GCC is also tested and supported.

Microsoft Visual C++ (MSVC)

Tested with MSVC 12.x (Visual Studio 2013), 14.x (Visual Studio 2015), and 15.x (Visual Studio 2017). Newer MSVC versions are supported but not yet tested.

Architectures#

The following CPU architectures are continually tested for mongo-c-driver:

Architecture

Notes

x86 (32-bit)

Only tested on Windows

x86_64 (64-bit x86)

Tested on Linux, macOS, and Windows

ARM / aarch64

Tested on macOS and Linux

Power8 (ppc64le)

Only tested on Linux

zSeries (s390x)

Only tested on Linux

Others#

Other platforms and toolchains are not tested, but similar versions of the above platforms should work. If you encounter a platform or toolchain that you expect to work and find that it does not, please open an issue describing the problem, and/or open a GitHub Pull Request to fix it.

Simple pull requests to fix unsupported platforms are welcome, but will be considered on a case-by-case basis. The acceptance of a pull request to fix the libraries on an unsupported platform does not imply full support of that platform.