From 82f82a2a991fb71f89420fb1dd2bf7d226791f3a Mon Sep 17 00:00:00 2001 From: Dendi Suhubdy <4477337+dendisuhubdy@users.noreply.github.com> Date: Tue, 27 Oct 2026 13:31:48 +0800 Subject: [PATCH] ci: build RocksDB with -include cstdint on ubuntu-latest (ubuntu-26.04) clean-clone has been red since ubuntu-latest moved to ubuntu-26.04: librocksdb-sys 0.16 (RocksDB 8.10) uses uint64_t in headers that never include , and that image's libstdc++ no longer pulls it in transitively, so every cold build fails with "'uint64_t' has not been declared". check-and-test and coverage pass only because rust-cache restores a built librocksdb-sys; the next cache miss fails them the same way. CXXFLAGS="-include cstdint" at workflow level in ci.yml and coverage.yml. release.yml and clients.yml pin ubuntu-24.04 and are unaffected. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GFs5h16gS5ZBxRkjVKYqWY --- .github/workflows/ci.yml | 5 +++++ .github/workflows/coverage.yml | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b88e3164..36842139 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -65,6 +65,11 @@ permissions: env: CARGO_TERM_COLOR: always + # librocksdb-sys 0.16 (RocksDB 8.10) uses uint64_t in headers that never include ; the + # libstdc++ on ubuntu-latest (ubuntu-26.04 since 2026-10) no longer pulls it in transitively, so a + # cold build fails with "'uint64_t' has not been declared" (clean-clone, 2026-10-27; jobs with a + # warm rust-cache hide it). Force the include until the rocksdb crate moves past 8.10. + CXXFLAGS: -include cstdint # The circuits commit this tree's vendored crates were synced from (deploy/sync-zkvm.sh). Bump it # in the same commit as a re-vendor, or CI builds this workspace against a tree it did not vendor. # 56b7061 is circuits branch feat/scan-compact: main c83b1c7 (tree aggregation, 4a244b6) plus diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index bf16cfe0..3707847a 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -25,6 +25,13 @@ on: permissions: contents: read +env: + # librocksdb-sys 0.16 (RocksDB 8.10) uses uint64_t in headers that never include ; the + # libstdc++ on ubuntu-latest (ubuntu-26.04 since 2026-10) no longer pulls it in transitively, so a + # cold build fails with "'uint64_t' has not been declared" (clean-clone, 2026-10-27; jobs with a + # warm rust-cache hide it). Force the include until the rocksdb crate moves past 8.10. + CXXFLAGS: -include cstdint + concurrency: group: coverage-${{ github.ref }} cancel-in-progress: true