./docker/packager/packager --package-type binary --docker-image-version clang-21 --proton-build --enable-proton-local --output-dir `pwd`/build_output- clang-21 /clang++-21 or above
- cmake 3.20 or above
- ninja
apt install git cmake ccache python3 ninja-build wget apt-transport-https apt-utils ca-certificates dnsutils gnupg iputils-ping lsb-release gpg curl software-properties-commoninstall llvm-21 compiler
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 21$ git clone --recurse-submodules [email protected]:timeplus-io/proton.git
$ cd proton
$ mkdir -p build && cd build && cmake ..
$ ninja
- Disable JavaScript (V8) engine and JS UDFs (for smaller binaries or constrained builds):
- Configure with:
cmake -DENABLE_V8=OFF .. - JS UDF code is automatically excluded when V8 is not built.
- Configure with:
- clang-21 /clang++-21 or above
- cmake 3.20 or above
- ninja
$ git clone --recurse-submodules [email protected]:timeplus-io/proton.git
$ cd proton
$ mkdir -p build && cd build && cmake ..
$ ninja
- clang-21 /clang++-21 or above
- cmake 3.20 or above
- ninja
$ git clone --recurse-submodules [email protected]:timeplus-io/proton.git
$ cd proton
$ mkdir -p build && cd build && cmake ..
$ ninja
- clang-21 /clang++-21 or above
- cmake 3.20 or above
- ninja
$ git clone --recurse-submodules [email protected]:timeplus-io/proton.git
$ cd proton
$ mkdir -p build && cd build && cmake ..
$ ninja
We don't support build Proton by using Apple Clang. Please use brew install llvm to install
clang-21 / clang++-21.
- clang-21 /clang++-21 or above
- cmake 3.20 or above
- ninja
$ git clone --recurse-submodules [email protected]:timeplus-io/proton.git
$ cd proton
$ mkdir -p build && cd build && cmake ..
$ ninja
Ensure you have the correct version of Xcode installed:
- Version 14.3.1
- Or any version newer than 15.1.Beta.1.
To check your Xcode version, run the following command:
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -versionYou should receive an output similar to:
Xcode 14.3.1
Build version 14E300c
Or, for newer versions:
Xcode 15.1
Build version 15C5042i
Below's a concise version of the Xcode installation steps:
-
Download Xcode Beta: Download Xcode 15.1 Beta 2 from the official apple xcode link or choose another version from xcodereleases.com.
-
Install Xcode Beta: Extract the XIP file by double-clicking it and then drag the
Xcode-betaapp into the/Applicationsfolder. -
Select Xcode Beta Version: In the terminal, run:
sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer
-
Verify Installation: Check the version to ensure it's correctly installed:
/usr/bin/xcodebuild -version
You should see:
Xcode 15.1 Build version 15C5042i
Proton build is not supported with Apple Clang. Use Homebrew to install LLVM version 19 instead:
brew install llvm@21First, if you haven't installed Homebrew yet, follow the instructions at https://brew.sh/.
Next, install the required dependencies using the following commands:
brew update
brew install ccache cmake ninja libtool gettext llvm@21 gcc binutils grep findutils libiconvSet up the environment variables required for building Proton:
export PATH=$(brew --prefix llvm@21)/bin:$PATH
export CC=$(brew --prefix llvm@21)/bin/clang
export CXX=$(brew --prefix llvm@21)/bin/clang++Clone the Proton repository and initiate the build process:
git clone --recurse-submodules [email protected]:timeplus-io/proton.git
cd proton
mkdir -p build && cd build
cmake ..
ninjaEnter Proton binary folder and run Proton server
You can either launch the server with a self-modified(especially the path) YAML file or start it without specifying the config file (This way will store the data in current path).
$ cd proton/build
$ ./programs/proton server --config-file ../programs/server/config.yaml
$ ./programs/proton server start
In another console, run Proton client
$ cd proton/build
$ ./programs/proton client
Then follow Timeplus user documents to create stream, insert data and run queries.