Skip to content

Build: workspace fails on clean clone due to missing fcctl-core path dependency #491

@AlexMikhalev

Description

@AlexMikhalev

Problem

Local builds of terraphim-ai fail out-of-the-box even after installing a modern Rust toolchain via rustup.

Current blockers:

  1. Missing path dependency
    crates/terraphim_rlm depends on a local path that is not present in a fresh checkout:
# crates/terraphim_rlm/Cargo.toml
fcctl-core = { path = "../../../firecracker-rust/fcctl-core" }

This causes cargo metadata / cargo build to fail with:

  • failed to read .../firecracker-rust/fcctl-core/Cargo.toml
  • No such file or directory (os error 2)
  1. (Previously observed) Workspace uses edition = "2024"
    Older distro-provided Cargo/Rust (e.g. Ubuntu 20.04) may not support 2024 edition unless using rustup/newer toolchain.

Impact

  • Contributors cannot compile the workspace or install binaries (e.g. via cargo install --path ...) from a clean clone.
  • CI/local dev friction: the build fails before any code changes.

Proposal

Make the repo compile from a clean checkout by one (or more) of:

Option A: Vendor/Fetch firecracker-rust dependency

  • Add firecracker-rust as a submodule (or documented clone step) so the expected path exists.

Option B: Remove hard path dependency from default build

  • Gate fcctl-core behind a feature flag and disable by default.
  • Provide a stub/no-op backend for non-firecracker builds.

Option C: Workspace membership/excludes

  • If terraphim_rlm is optional/experimental, consider moving it out of crates/* membership or adding it to exclude until the dependency is resolved.

Acceptance criteria

  • cargo metadata succeeds on a fresh clone with rustup toolchain installed.
  • cargo build (default workspace members) succeeds without requiring extra sibling repos.
  • Optional: document the required toolchain in rust-toolchain.toml.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions