⌘+k ctrl+k
1.1.3 (stable)
Search Shortcut cmd + k | ctrl + k
Building DuckDB from Source

When Should You Build DuckDB?

DuckDB binaries are available for stable and nightly builds on the installation page. You should only build DuckDB under specific circumstances, such as when running on an experimental platform, when building an unmerged pull request, or developing your fork of DuckDB.

Prerequisites

DuckDB needs CMake and a C++11-compliant compiler (e.g., GCC, Apple-Clang, MSVC). Additionally, we recommend using the Ninja build system, which automatically parallelizes the build process.

Supported Platforms

DuckDB fully supports Linux, macOS and Windows. Both AMD64 (x86_64) and ARM64 (AArch64) builds are available for these platforms.

Platform name Description
linux_amd64 Linux AMD64 (x86_64)
linux_arm64 Linux ARM64 (AArch64)
osx_amd64 macOS 12+ AMD64 (Intel CPUs)
osx_arm64 macOS 12+ ARM64 (Apple Silicon CPUs)
windows_amd64 Windows 10+ AMD64 (x86_64)
windows_arm64 Windows 10+ ARM64 (AArch64)

For instructions to build from source, see:

Experimental Platforms

There are several additional platforms with varying levels of support. For some platforms, DuckDB binaries and extensions (or a subset of extensions) are distributed. For others, building from source is possible.

Platform name Description
freebsd_amd64 FreeBSD AMD64 (x86_64)
freebsd_arm64 FreeBSD ARM64 (AArch64)
linux_arm64_android Android ARM64 (AArch64)
linux_arm64_gcc4 Linux ARM64 (AArch64) with GCC 4, e.g., CentOS 7
wasm_eh WebAssembly Exception Handling
wasm_mvp WebAssembly Minimum Viable Product
windows_amd64_mingw Windows 10+ AMD64 (x86_64) with MinGW
windows_amd64_rtools Windows 10+ AMD64 (x86_64) for RTools (deprecated)
windows_arm64_mingw Windows 10+ ARM64 (AArch64) with MinGW

These platforms are not covered by DuckDB's community support. For details on commercial support, see the support policy blog post.

Below, we provide detailed build instructions for some platforms:

Outdated Platforms

DuckDB can be built for end-of-life platforms such as macOS 11 and CentOS 7/8 using the instructions provided for macOS and Linux.

32-bit Architectures

32-bit architectures are officially not supported but it is possible to build DuckDB manually for some of these platforms, e.g., for Raspberry Pi boards.

Pages in This Section