Build Kùzu from source
To build from source code, Kùzu requires CMake(>=3.15
), Python(>=3.9
), and a compiler that supports C++20. The minimum supported version of C++ compilers is GCC 11, Clang 14, and MSVC 19.20. The preferred compiler on Linux is GCC; on macOS, Apple Clang; and on Windows, MSVC. On Linux, Clang is also tested. Other compilers which support C++20 may also work, but are not tested.
Below are the instructions for building Kùzu on Ubuntu 22.04 LTS, AlmaLinux 9.2, Arch Linux, macOS 12, and Windows 10. These instructions should also work for other similar platforms:
- For other Debian-based Linux distros, such as Debian, Linux Mint, and Pop!_OS, the instructions should be similar to Ubuntu 22.04 LTS.
- For other Red Hat-based Linux distros, such as Red Hat Enterprise Linux (RHEL), CentOS, Fedora, Rocky Linux, and Oracle Linux, the instructions should be similar to AlmaLinux 9.2.
- For other Arch-based Linux distros, such as Manjaro, the instructions should be similar to Arch Linux.
- For other versions of macOS, the instructions should be similar to macOS 14.
- For other versions of Windows, the instructions should be similar to Windows 10.
Building Instructions
Ubuntu 22.04 LTS
Install dependencies
Build Kùzu
AlmaLinux 9.2
Install dependencies
Build Kùzu
Arch Linux
Install dependencies
Build Kùzu
macOS 14
Install command line tools
Install homebrew
Follow the instructions at https://brew.sh/.
Install dependencies
Build Kùzu
Windows 10
Install Visual Studio
Install Visual Studio 2022 with C++ support, CMake, and the SDK for your version of Windows. For detailed instructions, please refer to Microsoft’s documentation.
Install Chocolatey
Follow the instructions at https://chocolatey.org/install.
Install dependencies
Launch Visual Studio Command Prompt
Follow the instructions at Microsoft’s documentation.
Build Kùzu
Run Tests
C/C++ tests
For additional information regarding the tests, please refer to the documentation for Testing Framework.
Increase ulimit
for running tests
For some platforms, such as macOS, the default limit for the number of open files is too low for running tests, which may cause some tests to fail. To increase the limit, please run the following command before running tests.
Build Language Bindings
By default, only C and C++ libraries and the CLI are built. To build other language bindings, please follow the instructions below.
Python
Prerequisites
To install the dependencies, please run the following command.
In addition, the python development headers are required. For example, on Ubuntu, the python3-dev
package should be installed.
Build Python bindings
Run Python tests
Node.js
Prerequisites
Install Node.js and npm. Please refer to the download page for detailed instructions. The minimum supported version of Node.js is 14.15.0.
Install dependencies
Build Node.js bindings
Run Node.js tests
Java
Prerequisites
The minimum supported version of JDK is 11. Oracle JDK, OpenJDK, and Eclipse Temurin are supported. For detailed instructions on installing JDK, please refer to one of the following links:
- For Oracle JDK, please refer to the download page.
- For OpenJDK, please refer to the download page.
- For Eclipse Temurin, please refer to the download page.
Build Java bindings
Run Java tests
Rust
Prerequisites
Rust 1.67.0 or later is required. Installing Rust with rustup is recommended. For detailed instructions, please refer to the download page.