Fix is a prototype distributed operating system running on the Arca research kernel.
Requires Linux x86-64, Bazelisk, GCC/G++, binutils, CMake, Make,
Clang/libclang, and Bash. Set LIBCLANG_PATH or
BINDGEN_EXTRA_CLANG_ARGS for nonstandard Clang installations.
git submodule update --init --recursive
bazel query //... --output=label_kind
bazel build //:artifacts
bazel test //...
bazel test //tests:format //tests:lint
bazel run //programs/kernel:hello -- Ada
bazel run //programs/arca:add -- tuple:word:2,word:3
bazel run //programs/fix:addblob -- 2u64 3u64
bazel run //fix/runtime:fix -- eval path/to/program.fixArca arguments: word:, blob:, tuple: (comma-separated), elf:<path>,
null. Fix arguments are Fix expressions. _elf targets expose raw artifacts.
Use --config=release for optimized builds.
Generate the ignored rust-project.json after changing Rust targets or the
toolchain:
bazel run @rules_rust//tools/rust_analyzer:gen_rust_project -- //...bazel test //... requires /dev/kvm; without it, use
bazel test //:host_tests. The proof test requires Isabelle2025-2, AFP,
and OCaml:
bazel test --test_tag_filters=proof //coupon:proofSee coupon/proof/README.md for proof setup.
Licensed under LGPL-2.1-or-later.