Repository navigation
[Discussion] Remove meson build support #930
Description
Activity
Also cc @Fokko and @kevinjqliu, as they helped creating the project and maintain the CI workflows.
Hey @zhjwpku thanks for bringing this up. I think its a fair question to ask - ultimately I started putting Meson into a few Apache projects as a way to try and get around the rough edges of CMake. I think overall success was mixed across different projects.
Another motiviation was making C++ libraries more accessible to Python wrappers; meson-python was at the time further ahead than CMake alternatives, although I think that gap has closed more recently
If its a maintenance burden I don't see a problem with removing unless someone wants to champion it
Reacted by Junwang Zhao, Zehua Zou and Abanoub DossI think the main challenge for us to maintain meson parity is the lack of its expertise. Contributors and reviewers just blindly trust what AI suggests. In addition, current setup does not support Arrow and Avro yet so it is still incomplete.
Reacted by William AydSounds good. If no one has provided support and its a burden then +1 to remove. If it ends up being important/useful it can always come back
+1 to remove meson build for now. Another thing to consider is dependabot support. If one day meson adds dependabot support as well as Arrow and Avro, I'd love to learn and maintain meson in this repo.
It seems we've reached a preliminary consensus. I'll wait a bit longer for any additional comments, if there are no further objections, I'll start working on a PR to remove the meson build next week.
as well as Arrow and Avro
FYI there is already a Meson wrap entry for Arrow (granted back to v21 - could use updating). Avro has been in progress (admittedly for some time, but still actively under work) see mesonbuild/wrapdb#2270
- added a commit that references this issue
on Sep 17, 2026
I would like to propose removing meson build support from iceberg-cpp.
We currently have meson build support for:
But sadly, meson support is still not aligned with CMake, missing modules include iceberg_bundle (Arrow, Avro, and Parquet integrations), the Hive catalog, and the SQL catalog.
A major challenge is that we do not seem to have enough meson expertise available for ongoing maintenance and review. AI can help us write build definitions quickly, but we still need knowledgeable reviewers to verify that the changes work correctly across supported configurations and for downstream consumers.
For example, I used AI to help implement PR #912, which aims to align meson's library modules with CMake. The implementation was relatively quick, but the PR has not received any reviews so far. Without sufficient meson expertise, it is difficult to gain confidence in the implementation and maintain it over time.
Meanwhile, we run meson CI jobs on Linux, Windows, and macOS. These consume CI resources and require maintenance even though our meson support remains incomplete. Apache Iceberg already has limited CI capacity, so I think we should consider whether maintaining a second build system is a worthwhile use of those resources.
As far as I am aware, we do not currently have users relying on Meson to build iceberg-cpp. Given the maintenance burden, limited review capacity, and CI cost, I propose removing the meson build and associated CI jobs.
If you are using meson to build iceberg-cpp, or are willing to help maintain and review its build support, please share your use case and thoughts. All feedback and alternative suggestions are welcome.
cc @wgtmac @manuzhang @WillAyd @abnobdoss @HuaHuaY