CMake and Meson build definitions are Out Of Sync
Maintainer thường phản hồi trong vòng 1 ngày
@Adarsh-Me đang làm issue này rồi.
Từ ngày 2/9/2026.
- #896 của @Sakshamm-Goyal — đã đóng, không merge
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 38/100
- Loại issue
- Tái cấu trúc
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- cmake, cpp
- Lĩnh vực
- build-system, tooling
Hướng nghiên cứu
So sánh các định nghĩa build của CMake và Meson trong commit main e0399c6, bắt đầu với việc cài đặt các public header, các source của table_test và các dependency pin được liệt kê. Kiểm tra snapshot_summary_builder_test.cc và issue #256 để biết phạm vi đã nêu. Công việc được xem là hoàn tất khi các khác biệt ngoài ý muốn được căn chỉnh, còn các khác biệt có chủ đích về dependency và feature được ghi lại và kiểm thử.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Description
The CMake and Meson build definitions are maintained separately and have drifted. On current main (e0399c6945326dd5281da07de8ed14a61c9f2cac), equivalent configurations do not install the same public headers or run the same core tests.
Examples:
-
CMake installs public headers by globbing each directory, while Meson lists them manually. As a result:
- CMake installs
iceberg/puffin_dv_io.handiceberg/catalog/rest/auth/token_refresh_scheduler.h, but Meson does not. - Meson installs
iceberg/catalog/catalog_util.h,iceberg/catalog/session_catalog.h, andiceberg/catalog/session_context.h, but CMake does not install headers fromsrc/iceberg/catalog/.
- CMake installs
-
CMake includes
snapshot_summary_builder_test.ccintable_test, but Meson does not include that test source, so the Meson CI path does not exercise it. -
Vendored/fallback dependency versions differ between the two build systems:
Dependency CMake Meson CRoaring 4.4.3 4.3.11 nlohmann/json 3.11.3 3.12.0 GoogleTest 1.15.2 1.17.0 Other shared dependencies, such as nanoarrow 0.9.0, utf8proc 2.10.0, spdlog 1.15.3, cpr 1.14.1, and Google Benchmark 1.8.4, are currently aligned but can drift because their pins are also declared independently.
-
Dependency resolution policy also differs: CMake requires system Zlib and Curl, while Meson can fall back to pinned wraps (Zlib 1.3.1 and Curl 8.10.1). Any intentional difference here should be documented and tested explicitly.
The Meson bundle gap is already tracked by #256 and is outside the scope of this issue. Other intentional feature differences should likewise remain explicit rather than appearing as accidental drift.
This to track current status and initiated a discussion on how we can maintain and sync the build tools in the long term.
- Ngôn ngữ chính
- C++
- Star
- 226
- Fork
- 132
- Merge trung bình
- 1 ngày 11 giờ
- Pull request đã merge (30 ngày)
- 27
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của apache/iceberg-cpp
-
bug: ReferenceVisitor::GetReferencedFieldIds dereferences null on a bound COUNT(*)Có thể đã có người làm @LuciferYang đã nhận 4 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
apache/iceberg-cpp#978 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug: InMemoryCatalog skips the namespace existence check in CreateTable and RegisterTableCó thể đã có người làm @LuciferYang đã nhận 4 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
apache/iceberg-cpp#977 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
apache/iceberg-cpp#973 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug: expression JSON deserialization throws an uncaught exception on a non-string "type"/"term"Có thể đã có người làm @LuciferYang đã nhận 4 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 75/100
apache/iceberg-cpp#979 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
apache/iceberg-cpp#959 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của apache/iceberg-cpp
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Icinga/icinga2#11077 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
-
agent:WSL bug linux LOW ui
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Copter: PosHold brake-entry threshold became 16 deg instead of 0.16 deg after the radians conversionCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
ArduPilot/ardupilot#34617 · 1 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
tesseract-robotics/tesseract_nanobind#168 ·
Maintainer thường phản hồi trong vòng 1 ngày