plusplusjiajia opened a new pull request, #10500: URL: https://github.com/apache/paimon/pull/10500
### Purpose pyroaring 1.0.4 and later publish no Python 3.8 wheels but still accept 3.8 (no `requires_python`), so pip on 3.8 resolves `pyroaring>=1.0.0` to the newest sdist (1.2.0 today) and compiles it. Without a C++ compiler, installing pypaimon on 3.8 fails with `command 'g++' failed`. 1.0.3 is the last release with cp38 wheels, for every platform (manylinux, musllinux, macOS, Windows). This caps 3.8 at 1.0.3, the way 3.6 and 3.7 are already capped at their last supported releases. The Python 3.8 install check in CI installs `build-essential` first, so it builds 1.2.0 from source and does not catch this. ### Tests - `dev/test_packaging.py` passes on Python 3.6. - On Python 3.8.17 with no g++ (Alibaba Cloud Linux 3), `pip install ./paimon-python` fails on master (it picks `pyroaring-1.2.0.tar.gz` and g++ is missing) and succeeds with this change (it picks the `pyroaring-1.0.3` cp38 manylinux wheel). - With pyroaring 1.0.3 on Python 3.8, `roaring_bitmap_test`, `test_field_aggregators`, `global_index_test`, `btree_thread_safety_test`, `deletion_vector_path_test`, `data_evolution_deletion_vector_test` and `vector_search_filter_test` give 341 passed and 58 skipped. All the skipped tests are native deletion-vector paths that need `pypaimon-rust`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
