Skip to content

Set up Cursor Cloud dev environment for 3FS#1

Draft
rchalamala wants to merge 1 commit into
mainfrom
cursor/setup-dev-environment-27a5
Draft

Set up Cursor Cloud dev environment for 3FS#1
rchalamala wants to merge 1 commit into
mainfrom
cursor/setup-dev-environment-27a5

Conversation

@rchalamala

Copy link
Copy Markdown
Collaborator

Summary

Sets up and documents the development environment for 3FS (Fire-Flyer File System) on the Cursor Cloud VM (Ubuntu 24.04, x86_64), and adds an AGENTS.md with durable, non-obvious setup/run guidance for future agents.

No product code was modified. The only file added is AGENTS.md.

What was installed / configured

  • Build toolchain: clang-14 + lld-14 (from noble/universe), gcc-12/g++-12, CMake, Boost, glog/gflags/gtest, libuv, lz4, double-conversion, libunwind, gperftools, OpenSSL.
  • FoundationDB client + server 7.3.63; libfuse 3.16.2 built from source; gettext-base + iproute2 (needed by the local harness).
  • Rust pinned to 1.85.0 (newer stable defaults to rust-lld and breaks C++ linking).
  • Git submodules initialized + patches/apply.sh applied.
  • Set cc/c++ alternatives to gcc (matching CI) and pinned clang-14 to the gcc-12 libstdc++ (the VM's newest gcc-14 dir is incomplete). Exact build command is documented in AGENTS.md.

Verification (build / lint / test)

Capability Command Result
Rust build cargo build --release Success
C++ build cmake --build build -j8 -- -k (clang-14, gcc-12 pin) All 10 service/client binaries + 17 test executables built
Lint make check-format (clang-format-14) Runs; flags pre-existing violations
Tests ./build/tests/test_kv 3 passed
Tests ./build/tests/test_mgmtd 26 passed (CRAQ chain replication)
Tests ./build/tests/test_meta 110 passed (mkdir/stat/symlink/truncate/perm/sync)
Tests ./build/tests/test_client 43/44 passed (RPC over TCP)

Known limitations (documented in AGENTS.md)

  • No RDMA in this VM (no /sys/class/infiniband, ibv_get_device_list = ENOSYS). All service/client binaries FATAL at IBManager::start, so the full cluster + FUSE harness (tests/fuse/run.sh) cannot run here. Functional verification is done via the TCP/LOCAL gtest suites above.
  • tests/common/utils/TestShuffle.cc has a latent missing #include <fstream> and fails to compile under clang-14 (both libstdc++-12 and -13); build the rest with -- -k.

Build and test evidence

To show artifacts inline, enable in settings.

Open in Web Open in Cursor 

Co-authored-by: Rahul Chalamala <rchalamala@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants