This guide is for running chunkdb directly on Windows without Docker.
Stable support boundary:
- Windows native core path: supported.
- Windows native TLS path: not yet guaranteed as fully supported.
Important shell context:
- Open MSYS2 MinGW64 shell.
- Do not run these commands in PowerShell or
cmd.exe.
Quick shell check:
echo $MSYSTEMExpected output example:
MINGW64
pacman -Syu --noconfirm
# If MSYS2 asks you to restart the shell, close it and reopen "MSYS2 MinGW64",
# then run:
pacman -S --needed --noconfirm \
mingw-w64-x86_64-toolchain \
mingw-w64-x86_64-cmake \
mingw-w64-x86_64-ninja \
gitExpected output example:
:: Synchronizing package databases...
:: Starting full system upgrade...
cd /c/Users/<your-user>/chunkdb
cmake -S . -B build -G Ninja -DCHUNKDB_BUILD_TESTS=ON -DCHUNKDB_WITH_TLS=OFF
cmake --build buildExpected output example:
-- Build files have been written to: /c/Users/<your-user>/chunkdb/build
[100%] Built target chunkdb_server
ctest --test-dir build -L smoke --output-on-failureExpected output example:
100% tests passed, 0 tests failed
Label Time Summary: smoke = ...
printf 'chunk-token\n' > ./chunkdb.token
./build/chunkdb_server \
--listen-uri chunk://127.0.0.1:4242/ \
--token-file ./chunkdb.token \
--data-dir ./data \
--durability relaxed \
--workers 4Expected output example:
2026-03-16 10:12:22.001 INFO server pid=1234 ready to accept connections protocol=tcp host=127.0.0.1 port=4242 tls=off workers=4
Benchmark binaries:
./build/chunkdb_server_bench(protocol benchmark, primary)./build/chunkdb_bench(direct storage benchmark, internal)
Discover flags:
./build/chunkdb_server_bench --help
./build/chunkdb_bench --helpFirst benchmark command:
./build/chunkdb_server_bench \
--uri chunk://[email protected]:4242/ \
--tests ping,info,set,get \
--requests 5000 --clients 50 --pipeline 1Token-in-URI benchmark commands are development-only. For server startup, prefer
--token-file or CHUNKDB_TOKEN.
Expected output example:
chunkdb protocol benchmark
[set]
Throughput (req/s): ...
Historical local run:
- one Windows-native run printed valid benchmark metrics and then failed during temp-dir cleanup due to
writer.lockstill being in use. - raw log: bench/artifacts/manual-runs/server-20260315-windows-native.txt
- reproduction command:
build\\chunkdb_server_bench.exe --server-mode spawn --requests 5000 --port 4242
Post-fix CI run:
- after teardown hardening, Windows benchmark cleanup completed without the previous failure.
- raw log: bench/artifacts/manual-runs/server-20260315-windows-ci-70023dd-serial-mutex.txt
Symptom:
pacmanis not found, or build tools are missing even after install.
Fix:
- Start MSYS2 MinGW64 shell explicitly from Start Menu.
- Run
echo $MSYSTEMand confirm it printsMINGW64.
Symptom:
- CMake reports
CMAKE_MAKE_PROGRAMnot found, or compiler not found.
Fix:
- Re-run package install command from step 1 in MSYS2 MinGW64 shell.
- Verify tools:
cmake --version
ninja --version
g++ --versionSymptom:
cdfails, or CMake cannot find source/build directories.
Fix:
- In MSYS2, use Unix-style paths:
C:\Users\Alice\chunkdb->/c/Users/Alice/chunkdb
- Keep
cmake -S . -B buildfrom the repository root to avoid path mix-ups.