The package pyarrow currently does not build if the "parquet" useflag is not enabled. Reproducible: Always Steps to Reproduce: USE="-parquet" emerge -v pyarrow Actual Results: The build fails during cmake configuration of the python extension: 2024-11-25 09:52:03,892 root INFO cmake -DCMAKE_INSTALL_PREFIX=/home/portage/dev-python/pyarrow-18.0.0/work/apache-arrow-18.0.0/python-python3_12/build/lib.linux-x86_64-cpython-312/pyarrow -DPYTHON_EXECUTABLE=/usr/bin/python3.12 -DPython3_EXECUTABLE=/usr/bin/python3.12 "-DPYARROW_CXXFLAGS=-O2 -pipe" -G Ninja -DPYARROW_BUNDLE_ARROW_CPP=off -DPYARROW_BUNDLE_CYTHON_CPP=off -DPYARROW_GENERATE_COVERAGE=off -DCMAKE_BUILD_TYPE=release -DCMAKE_VERBOSE_MAKEFILE=ON /home/portage/dev-python/pyarrow-18.0.0/work/apache-arrow-18.0.0/python -- The C compiler identification is GNU 14.2.1 -- The CXX compiler identification is GNU 14.2.1 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- System processor: x86_64 -- Performing Test CXX_SUPPORTS_SSE4_2 -- Performing Test CXX_SUPPORTS_SSE4_2 - Success -- Performing Test CXX_SUPPORTS_AVX2 -- Performing Test CXX_SUPPORTS_AVX2 - Success -- Performing Test CXX_SUPPORTS_AVX512 -- Performing Test CXX_SUPPORTS_AVX512 - Success -- Arrow build warning level: PRODUCTION -- Using ld linker -- Build Type: RELEASE -- CMAKE_C_FLAGS: -Wall -fno-semantic-interposition -msse4.2 -O2 -pipe -fdiagnostics-color=always -O2 -pipe -fno-omit-frame-pointer -Wno-unused-variable -Wno-maybe-uninitialized -- CMAKE_CXX_FLAGS: -Wno-noexcept-type -Wno-self-move -Wall -fno-semantic-interposition -msse4.2 -O2 -pipe -fdiagnostics-color=always -O2 -pipe -fno-omit-frame-pointer -Wno-unused-variable -Wno-maybe-uninitialized -- Generator: Ninja -- Build output directory: /home/portage/dev-python/pyarrow-18.0.0/work/apache-arrow-18.0.0/python-python3_12/build/temp.linux-x86_64-cpython-312/release -- Found Python3: /usr/bin/python3.12 (found version "3.12.7") found components: Interpreter Development.Module NumPy -- Found Python3Alt: /usr/bin/python3.12 -- Found NumPy version: 2.0.2 -- NumPy include dir: /usr/lib/python3.12/site-packages/numpy/_core/include -- Found Cython version: 3.0.11 -- Arrow version: 18.0.0 -- Found the Arrow shared library: /usr/lib64/libarrow.so.1800.0.0 -- Found the Arrow import library: ARROW_IMPORT_LIB-NOTFOUND -- Found the Arrow static library: -- Building PyArrow with Dataset CMake Error at /usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:76 (find_package): By not providing "FindParquet.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Parquet", but CMake did not find one. Could not find a package configuration file provided by "Parquet" with any of the following names: ParquetConfig.cmake parquet-config.cmake Add the installation prefix of "Parquet" to CMAKE_PREFIX_PATH or set "Parquet_DIR" to a directory containing one of the above files. If "Parquet" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): /usr/lib64/cmake/ArrowAcero/ArrowAceroConfig.cmake:65 (find_dependency) /usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:76 (find_package) /usr/lib64/cmake/ArrowDataset/ArrowDatasetConfig.cmake:65 (find_dependency) CMakeLists.txt:396 (find_package) -- Configuring incomplete, errors occurred!
Note that I do not have parquet installed at all. It looks like the problem is not really in pyarrow itself it fails to find parquet in /usr/lib64/cmake/ArrowAcero/ArrowAceroConfig.cmake which belongs to dev-libs/apache-arrow. It looks like not using parquet means ACERO needs to be turned off as well.
I have parquet disabled because of #861770 and from my exploration in the last few hours, it feels impossible to build pyarrow without parquet being at least present. I have toggled various variables but their is always something breaking at cmake configuration and it is unclear what once acero is disabled.
See upstream bug at https://github.com/apache/arrow/issues/45034
(In reply to Tupone Alfredo from comment #3) > See upstream bug at https://github.com/apache/arrow/issues/45034 When filing upstream bugs, I strongly recommend including (non-Gentoo-specific) commands to reproduce, so it reflects well on us.
(In reply to Sam James from comment #4) > (In reply to Tupone Alfredo from comment #3) > > See upstream bug at https://github.com/apache/arrow/issues/45034 > > When filing upstream bugs, I strongly recommend including > (non-Gentoo-specific) commands to reproduce, so it reflects well on us. Thanks for suggestion. In this case have to install apache-arrow disabling parquet and then building pyarrow also without parquet, from the same set of source. Not so easy for me to tell them all the step, and maybe discussing why we build that way. I just notify the effects of the installation: trace of Parquet in the installed cmake files.
Should be fixed in the 19.0.0 version. Reopen if not