anolis-provider-sim Linux Setup
Build and validate anolis-provider-sim on Linux using repository presets.
Prerequisites
- Ubuntu 22.04+ / Debian 12+ (or equivalent modern distro)
- GCC/Clang with C++17 support
- CMake >= 3.20
- Ninja
- Python 3.12+
- Git
1) Install system dependencies
Ubuntu/Debian:
bash
sudo apt-get update
sudo apt-get install -y build-essential cmake ninja-build git curl zip unzip tar python3 python3-pip2) Install and configure vcpkg
bash
git clone https://github.com/microsoft/vcpkg.git "$HOME/tools/vcpkg"
"$HOME/tools/vcpkg/bootstrap-vcpkg.sh"Set VCPKG_ROOT in your shell profile:
bash
echo 'export VCPKG_ROOT="$HOME/tools/vcpkg"' >> ~/.bashrc
source ~/.bashrcVerify:
bash
echo "$VCPKG_ROOT"3) Clone repository
bash
git clone https://github.com/anolishq/anolis-provider-sim.git
cd anolis-provider-sim
git submodule update --init --recursive4) Configure and build
bash
cmake --preset dev-release
cmake --build --preset dev-release --parallelThis configures into build/dev-release and builds anolis-provider-sim there.
5) Run locally (requires --config)
bash
./build/dev-release/anolis-provider-sim --config config/provider-sim.yamlNotes:
--configis required.- Provider transport is stdio framed ADPP, so it waits for client frames on stdin.
6) Validate with tests
Smoke test:
bash
ctest --preset dev-release -L smokeFull provider baseline suite:
bash
ctest --preset dev-releaseOptional: FluxGraph-enabled build (sim mode)
bash
cmake --preset ci-linux-release-fluxgraph -DFLUXGRAPH_DIR=../fluxgraph
cmake --build --preset ci-linux-release-fluxgraph --parallel
ctest --preset ci-linux-release-fluxgraph -L fluxgraphTroubleshooting
Could NOT find Protobuf or other package errors:
- Confirm
VCPKG_ROOTis set. - Re-run configure via
rm -rf build/dev-release && cmake --preset dev-release.
mode=sim requires FluxGraph support:
- Build with a FluxGraph-enabled preset (
*-fluxgraph).
TSAN build launches but fails to resolve libraries:
- For
-DENABLE_TSAN=ONbuilds, export runtime environment first:
bash
BUILD_DIR=build/dev-release
VCPKG_TRIPLET=$(awk -F= '/^VCPKG_TARGET_TRIPLET:STRING=/{print $2}' "$BUILD_DIR/CMakeCache.txt")
export LD_LIBRARY_PATH="$BUILD_DIR/vcpkg_installed/${VCPKG_TRIPLET:-x64-linux}/lib:${LD_LIBRARY_PATH:-}"
export TSAN_OPTIONS="second_deadlock_stack=1 detect_deadlocks=1 history_size=7"FATAL: --config argument is required:
- Start provider with
./build/dev-release/anolis-provider-sim --config <path>.
