Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Python] Failed to build pyarrow using python:3.10-alpine docker image #39846

Open
hteeyeoh opened this issue Jan 30, 2024 · 14 comments
Open

[Python] Failed to build pyarrow using python:3.10-alpine docker image #39846

hteeyeoh opened this issue Jan 30, 2024 · 14 comments

Comments

@hteeyeoh
Copy link

hteeyeoh commented Jan 30, 2024

Describe the bug, including details regarding any error messages, version, and platform.

Bumped into error when the build stage reach pyarrow building:
-- Found Python3Alt: /usr/local/bin/python
#0 678.5       CMake Error at CMakeLists.txt:268 (find_package):
#0 678.5         By not providing "FindArrow.cmake" in CMAKE_MODULE_PATH this project has
#0 678.5         asked CMake to find a package configuration file provided by "Arrow", but
#0 678.5         CMake did not find one.
#0 678.5
#0 678.5         Could not find a package configuration file provided by "Arrow" with any of
#0 678.5         the following names:
#0 678.5
#0 678.5           ArrowConfig.cmake
#0 678.5           arrow-config.cmake
#0 678.5
#0 678.5         Add the installation prefix of "Arrow" to CMAKE_PREFIX_PATH or set
#0 678.5         "Arrow_DIR" to a directory containing one of the above files.  If "Arrow"
#0 678.5         provides a separate development package or SDK, be sure it has been
#0 678.5         installed.
#0 678.5
#0 678.5
#0 678.5       -- Configuring incomplete, errors occurred!
#0 678.5       error: command '/usr/bin/cmake' failed with exit code 1
#0 678.5       [end of output]
#0 678.5
#0 678.5   note: This error originates from a subprocess, and is likely not a problem with pip.
#0 678.5   ERROR: Failed building wheel for pyarrow

Component(s)

Python

@kou kou changed the title Failed to build pyarrow using python:3.10-alpine docker image [Python] Failed to build pyarrow using python:3.10-alpine docker image Jan 30, 2024
@kou
Copy link
Member

kou commented Jan 30, 2024

Could you provide a Dockerfile that reproduces this error?

@hteeyeoh
Copy link
Author

hteeyeoh commented Jan 30, 2024

Hi @kou, below are the example of Dockerfile and requirement.txt that I have
requirement.txt

Dockerfile.txt

@jorisvandenbossche
Copy link
Member

PyArrow doesn't provide binary wheel packages that are compatible with Alpine Linux. That means that when doing pip install, it will try to build PyArrow from source.
However, that doesn't work out of the box just using pip, as PyArrow has some non-Python build dependencies that you will need to ensure are installed (as a starter, you need to install the Arrow C++ libraries). See https://arrow.apache.org/docs/developers/python.html#building-on-linux-and-macos

@hteeyeoh
Copy link
Author

hi @jorisvandenbossche, yes i did tried the steps mentioned and include in my Dockerfile, but yet it complained pushd not found error:
#0 0.231 /bin/sh: pushd: not found

Dockerfile:
RUN git clone https://github.com/apache/arrow.git
RUN pushd arrow && git submodule update --init
RUN export PARQUET_TEST_DATA="${PWD}/cpp/submodules/parquet-testing/data" && export ARROW_TEST_DATA="${PWD}/testing/data" && popd

@raulcd
Copy link
Member

raulcd commented Jan 30, 2024

If pushd and/or popd are not present on your docker image you can use cd, this is not related with Arrow.

@hteeyeoh
Copy link
Author

hteeyeoh commented Jan 30, 2024

ya my bad. already figured it out. Just that followed the guide line : https://arrow.apache.org/docs/developers/python.html
Get cmake error which I couldnt figure out why:


 > [build  9/11] RUN cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME         -DCMAKE_INSTALL_LIBDIR=lib         -DCMAKE_BUILD_TYPE=Debug         -DARROW_BUILD_TESTS=ON         -DARROW_COMPUTE=ON         -DARROW_CSV=ON         -DARROW_DATASET=ON         -DARROW_FILESYSTEM=ON         -DARROW_HDFS=ON         -DARROW_JSON=ON         -DARROW_PARQUET=ON         -DARROW_WITH_BROTLI=ON         -DARROW_WITH_BZ2=ON         -DARROW_WITH_LZ4=ON         -DARROW_WITH_SNAPPY=ON         -DARROW_WITH_ZLIB=ON         -DARROW_WITH_ZSTD=ON         -DPARQUET_REQUIRE_ENCRYPTION=ON         .. && make -j4 && make install:
#0 0.259 CMake Warning:
#0 0.259   Ignoring extra path from command line:
#0 0.259
#0 0.259    ".."
#0 0.259
#0 0.259
#0 0.259 CMake Error: The source directory "/" does not appear to contain CMakeLists.txt.
#0 0.259 Specify --help for usage, or press the help button on the CMake GUI.
------
Dockerfile:15
--------------------
  14 |     RUN mkdir arrow/cpp/build && cd arrow/cpp/build
  15 | >>> RUN cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
  16 | >>>         -DCMAKE_INSTALL_LIBDIR=lib \
  17 | >>>         -DCMAKE_BUILD_TYPE=Debug \
  18 | >>>         -DARROW_BUILD_TESTS=ON \
  19 | >>>         -DARROW_COMPUTE=ON \
  20 | >>>         -DARROW_CSV=ON \
  21 | >>>         -DARROW_DATASET=ON \
  22 | >>>         -DARROW_FILESYSTEM=ON \
  23 | >>>         -DARROW_HDFS=ON \
  24 | >>>         -DARROW_JSON=ON \
  25 | >>>         -DARROW_PARQUET=ON \
  26 | >>>         -DARROW_WITH_BROTLI=ON \
  27 | >>>         -DARROW_WITH_BZ2=ON \
  28 | >>>         -DARROW_WITH_LZ4=ON \
  29 | >>>         -DARROW_WITH_SNAPPY=ON \
  30 | >>>         -DARROW_WITH_ZLIB=ON \
  31 | >>>         -DARROW_WITH_ZSTD=ON \
  32 | >>>         -DPARQUET_REQUIRE_ENCRYPTION=ON \
  33 | >>>         .. && make -j4 && make install
  34 |
--------------------
ERROR: failed to solve: process "/bin/sh -c cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME         -DCMAKE_INSTALL_LIBDIR=lib         -DCMAKE_BUILD_TYPE=Debug         -DARROW_BUILD_TESTS=ON         -DARROW_COMPUTE=ON         -DARROW_CSV=ON         -DARROW_DATASET=ON         -DARROW_FILESYSTEM=ON         -DARROW_HDFS=ON         -DARROW_JSON=ON         -DARROW_PARQUET=ON         -DARROW_WITH_BROTLI=ON         -DARROW_WITH_BZ2=ON         -DARROW_WITH_LZ4=ON         -DARROW_WITH_SNAPPY=ON         -DARROW_WITH_ZLIB=ON         -DARROW_WITH_ZSTD=ON         -DPARQUET_REQUIRE_ENCRYPTION=ON         .. && make -j4 && make install" did not complete successfully: exit code: 1

@numbworks
Copy link

Hello guys,

I have the same issue, but from the thread is not clear to me how to solve it.

How should I change the Dockerfile in order to make pip install pyarrow succeed?

Thank you for the help!

Dockerfile:

FROM python:3.12.4-alpine3.20

RUN pip install --upgrade pip \
    && pip install pyarrow

Output:

=> CACHED [1/2] FROM docker.io/library/python:3.12.4-alpine3.20                                                                               0.0s
 => ERROR [2/2] RUN pip install --upgrade pip     && pip install pyarrow                                                                      31.5s
------                                                                                                                                              
 > [2/2] RUN pip install --upgrade pip     && pip install pyarrow:                                                                                  
5.205 Requirement already satisfied: pip in /usr/local/lib/python3.12/site-packages (24.0)                                                          
5.431 Collecting pip                                                                                                                                
5.548   Downloading pip-24.2-py3-none-any.whl.metadata (3.6 kB)                                                                                     
5.588 Downloading pip-24.2-py3-none-any.whl (1.8 MB)                                                                                                
5.726    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 13.9 MB/s eta 0:00:00
5.897 Installing collected packages: pip
5.898   Attempting uninstall: pip
5.910     Found existing installation: pip 24.0
5.997     Uninstalling pip-24.0:
6.423       Successfully uninstalled pip-24.0
9.019 Successfully installed pip-24.2
9.020 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
10.55 Collecting pyarrow
10.64   Downloading pyarrow-17.0.0.tar.gz (1.1 MB)
10.74      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 16.8 MB/s eta 0:00:00
11.11   Installing build dependencies: started
27.23   Installing build dependencies: finished with status 'done'
27.23   Getting requirements to build wheel: started
28.21   Getting requirements to build wheel: finished with status 'done'
28.21   Preparing metadata (pyproject.toml): started
29.09   Preparing metadata (pyproject.toml): finished with status 'done'
29.60 Collecting numpy>=1.16.6 (from pyarrow)
29.60   Using cached numpy-2.0.1-cp312-cp312-musllinux_1_1_x86_64.whl.metadata (60 kB)
29.66 Using cached numpy-2.0.1-cp312-cp312-musllinux_1_1_x86_64.whl (19.6 MB)
29.85 Building wheels for collected packages: pyarrow
29.85   Building wheel for pyarrow (pyproject.toml): started
30.91   Building wheel for pyarrow (pyproject.toml): finished with status 'error'
30.96   error: subprocess-exited-with-error
30.96   
30.96   × Building wheel for pyarrow (pyproject.toml) did not run successfully.
30.96   │ exit code: 1
30.96   ╰─> [352 lines of output]
30.96       <string>:34: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
30.96       running bdist_wheel
30.96       running build
30.96       running build_py
30.96       creating build
30.96       creating build/lib.linux-x86_64-cpython-312
30.96       creating build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/flight.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_compute_docstrings.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/ipc.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/cuda.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/__init__.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_generated_version.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/orc.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/csv.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/pandas_compat.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/feather.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/dataset.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/types.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/benchmark.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/substrait.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/json.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/conftest.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/util.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/jvm.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/compute.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/fs.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/cffi.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/acero.py -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       creating build/lib.linux-x86_64-cpython-312/scripts
30.96       copying scripts/test_imports.py -> build/lib.linux-x86_64-cpython-312/scripts
30.96       copying scripts/test_leak.py -> build/lib.linux-x86_64-cpython-312/scripts
30.96       copying scripts/run_emscripten_tests.py -> build/lib.linux-x86_64-cpython-312/scripts
30.96       creating build/lib.linux-x86_64-cpython-312/benchmarks
30.96       copying benchmarks/__init__.py -> build/lib.linux-x86_64-cpython-312/benchmarks
30.96       copying benchmarks/parquet.py -> build/lib.linux-x86_64-cpython-312/benchmarks
30.96       copying benchmarks/convert_builtins.py -> build/lib.linux-x86_64-cpython-312/benchmarks
30.96       copying benchmarks/common.py -> build/lib.linux-x86_64-cpython-312/benchmarks
30.96       copying benchmarks/streaming.py -> build/lib.linux-x86_64-cpython-312/benchmarks
30.96       copying benchmarks/array_ops.py -> build/lib.linux-x86_64-cpython-312/benchmarks
30.96       copying benchmarks/convert_pandas.py -> build/lib.linux-x86_64-cpython-312/benchmarks
30.96       copying benchmarks/microbenchmarks.py -> build/lib.linux-x86_64-cpython-312/benchmarks
30.96       copying benchmarks/io.py -> build/lib.linux-x86_64-cpython-312/benchmarks
30.96       creating build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_sparse_tensor.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_csv.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_builder.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_scalars.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/__init__.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_array.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_misc.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_fs.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_gandiva.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_util.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_cffi.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_table.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/arrow_16597.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/strategies.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_device.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/read_record_batch.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_orc.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_dataset_encryption.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_io.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/pandas_examples.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/arrow_39313.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_jvm.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_ipc.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_gdb.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_compute.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_json.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_schema.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_dlpack.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_cython.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_flight.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_cuda.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_extension_type.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_cuda_numba_interop.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_feather.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_substrait.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_strategies.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_tensor.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_convert_builtin.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/conftest.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_dataset.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_types.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/util.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_flight_async.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_memory.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_acero.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/arrow_7980.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_udf.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_cpp_internals.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/pandas_threaded_import.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_adhoc_memory_leak.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_pandas.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_deprecations.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/test_exec_plan.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       creating build/lib.linux-x86_64-cpython-312/pyarrow/parquet
30.96       copying pyarrow/parquet/__init__.py -> build/lib.linux-x86_64-cpython-312/pyarrow/parquet
30.96       copying pyarrow/parquet/encryption.py -> build/lib.linux-x86_64-cpython-312/pyarrow/parquet
30.96       copying pyarrow/parquet/core.py -> build/lib.linux-x86_64-cpython-312/pyarrow/parquet
30.96       creating build/lib.linux-x86_64-cpython-312/pyarrow/vendored
30.96       copying pyarrow/vendored/__init__.py -> build/lib.linux-x86_64-cpython-312/pyarrow/vendored
30.96       copying pyarrow/vendored/docscrape.py -> build/lib.linux-x86_64-cpython-312/pyarrow/vendored
30.96       copying pyarrow/vendored/version.py -> build/lib.linux-x86_64-cpython-312/pyarrow/vendored
30.96       creating build/lib.linux-x86_64-cpython-312/pyarrow/interchange
30.96       copying pyarrow/interchange/__init__.py -> build/lib.linux-x86_64-cpython-312/pyarrow/interchange
30.96       copying pyarrow/interchange/from_dataframe.py -> build/lib.linux-x86_64-cpython-312/pyarrow/interchange
30.96       copying pyarrow/interchange/buffer.py -> build/lib.linux-x86_64-cpython-312/pyarrow/interchange
30.96       copying pyarrow/interchange/column.py -> build/lib.linux-x86_64-cpython-312/pyarrow/interchange
30.96       copying pyarrow/interchange/dataframe.py -> build/lib.linux-x86_64-cpython-312/pyarrow/interchange
30.96       creating build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet
30.96       copying pyarrow/tests/parquet/__init__.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet
30.96       copying pyarrow/tests/parquet/encryption.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet
30.96       copying pyarrow/tests/parquet/test_compliant_nested_type.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet
30.96       copying pyarrow/tests/parquet/test_datetime.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet
30.96       copying pyarrow/tests/parquet/test_parquet_file.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet
30.96       copying pyarrow/tests/parquet/test_encryption.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet
30.96       copying pyarrow/tests/parquet/test_data_types.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet
30.96       copying pyarrow/tests/parquet/common.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet
30.96       copying pyarrow/tests/parquet/test_metadata.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet
30.96       copying pyarrow/tests/parquet/conftest.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet
30.96       copying pyarrow/tests/parquet/test_dataset.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet
30.96       copying pyarrow/tests/parquet/test_basic.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet
30.96       copying pyarrow/tests/parquet/test_parquet_writer.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet
30.96       copying pyarrow/tests/parquet/test_pandas.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet
30.96       creating build/lib.linux-x86_64-cpython-312/pyarrow/tests/interchange
30.96       copying pyarrow/tests/interchange/__init__.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/interchange
30.96       copying pyarrow/tests/interchange/test_conversion.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/interchange
30.96       copying pyarrow/tests/interchange/test_interchange_spec.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/interchange
30.96       creating build/lib.linux-x86_64-cpython-312/examples
30.96       creating build/lib.linux-x86_64-cpython-312/examples/parquet_encryption
30.96       copying examples/parquet_encryption/sample_vault_kms_client.py -> build/lib.linux-x86_64-cpython-312/examples/parquet_encryption
30.96       creating build/lib.linux-x86_64-cpython-312/examples/flight
30.96       copying examples/flight/server.py -> build/lib.linux-x86_64-cpython-312/examples/flight
30.96       copying examples/flight/client.py -> build/lib.linux-x86_64-cpython-312/examples/flight
30.96       copying examples/flight/middleware.py -> build/lib.linux-x86_64-cpython-312/examples/flight
30.96       creating build/lib.linux-x86_64-cpython-312/examples/dataset
30.96       copying examples/dataset/write_dataset_encrypted.py -> build/lib.linux-x86_64-cpython-312/examples/dataset
30.96       running egg_info
30.96       writing pyarrow.egg-info/PKG-INFO
30.96       writing dependency_links to pyarrow.egg-info/dependency_links.txt
30.96       writing requirements to pyarrow.egg-info/requires.txt
30.96       writing top-level names to pyarrow.egg-info/top_level.txt
30.96       reading manifest file 'pyarrow.egg-info/SOURCES.txt'
30.96       reading manifest template 'MANIFEST.in'
30.96       warning: no files found matching '../LICENSE.txt'
30.96       warning: no files found matching '../NOTICE.txt'
30.96       warning: no previously-included files matching '*.so' found anywhere in distribution
30.96       warning: no previously-included files matching '*.pyc' found anywhere in distribution
30.96       warning: no previously-included files matching '*~' found anywhere in distribution
30.96       warning: no previously-included files matching '#*' found anywhere in distribution
30.96       warning: no previously-included files matching '.git*' found anywhere in distribution
30.96       warning: no previously-included files matching '.DS_Store' found anywhere in distribution
30.96       no previously-included directories found matching '.asv'
30.96       writing manifest file 'pyarrow.egg-info/SOURCES.txt'
30.96       creating build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/AWSSDKVariables.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/BuildUtils.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/DefineOptions.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindAWSSDKAlt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindAzure.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindBrotliAlt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindClangTools.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindGTestAlt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindInferTools.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindLLVMAlt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindOpenSSLAlt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindProtobufAlt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindPython3Alt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindRapidJSONAlt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindSQLite3Alt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindSnappyAlt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindThriftAlt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/Findc-aresAlt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindgRPCAlt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindgflagsAlt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindglogAlt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindjemallocAlt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/Findlibrados.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/Findlz4Alt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindorcAlt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/Findre2Alt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/Findutf8proc.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/FindzstdAlt.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/GandivaAddBitcode.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/SetupCxxFlags.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/ThirdpartyToolchain.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/UseCython.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/Usevcpkg.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/aws_sdk_cpp_generate_variables.sh -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/san-config.cmake -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying cmake_modules/snappy.diff -> build/lib.linux-x86_64-cpython-312/cmake_modules
30.96       copying pyarrow/__init__.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_acero.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_acero.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_azurefs.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_compute.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_compute.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_csv.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_csv.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_cuda.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_cuda.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_dataset.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_dataset.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_dataset_orc.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_dataset_parquet.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_dataset_parquet.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_dataset_parquet_encryption.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_dlpack.pxi -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_feather.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_flight.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_fs.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_fs.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_gcsfs.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_hdfs.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_json.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_json.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_orc.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_orc.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_parquet.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_parquet.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_parquet_encryption.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_parquet_encryption.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_pyarrow_cpp_tests.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_pyarrow_cpp_tests.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_s3fs.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/_substrait.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/array.pxi -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/benchmark.pxi -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/builder.pxi -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/compat.pxi -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/config.pxi -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/device.pxi -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/error.pxi -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/gandiva.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/io.pxi -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/ipc.pxi -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/lib.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/lib.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/memory.pxi -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/pandas-shim.pxi -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/public-api.pxi -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/scalar.pxi -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/table.pxi -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/tensor.pxi -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       copying pyarrow/types.pxi -> build/lib.linux-x86_64-cpython-312/pyarrow
30.96       creating build/lib.linux-x86_64-cpython-312/pyarrow/includes
30.96       copying pyarrow/includes/libarrow_substrait.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow/includes
30.96       copying pyarrow/includes/libparquet_encryption.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow/includes
30.96       copying pyarrow/includes/common.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow/includes
30.96       copying pyarrow/includes/libarrow.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow/includes
30.96       copying pyarrow/includes/libarrow_dataset_parquet.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow/includes
30.96       copying pyarrow/includes/__init__.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow/includes
30.96       copying pyarrow/includes/libarrow_fs.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow/includes
30.96       copying pyarrow/includes/libarrow_dataset.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow/includes
30.96       copying pyarrow/includes/libgandiva.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow/includes
30.96       copying pyarrow/includes/libarrow_feather.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow/includes
30.96       copying pyarrow/includes/libarrow_python.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow/includes
30.96       copying pyarrow/includes/libarrow_acero.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow/includes
30.96       copying pyarrow/includes/libarrow_cuda.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow/includes
30.96       copying pyarrow/includes/libarrow_flight.pxd -> build/lib.linux-x86_64-cpython-312/pyarrow/includes
30.96       copying pyarrow/tests/bound_function_visit_strings.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/extensions.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       copying pyarrow/tests/pyarrow_cython_example.pyx -> build/lib.linux-x86_64-cpython-312/pyarrow/tests
30.96       creating build/lib.linux-x86_64-cpython-312/pyarrow/tests/data
30.96       creating build/lib.linux-x86_64-cpython-312/pyarrow/tests/data/parquet
30.96       copying pyarrow/tests/data/parquet/v0.7.1.all-named-index.parquet -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/data/parquet
30.96       copying pyarrow/tests/data/parquet/v0.7.1.column-metadata-handling.parquet -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/data/parquet
30.96       copying pyarrow/tests/data/parquet/v0.7.1.parquet -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/data/parquet
30.96       copying pyarrow/tests/data/parquet/v0.7.1.some-named-index.parquet -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/data/parquet
30.96       creating build/lib.linux-x86_64-cpython-312/pyarrow/tests/data/orc
30.96       copying pyarrow/tests/data/orc/README.md -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/data/orc
30.96       copying pyarrow/tests/data/orc/TestOrcFile.emptyFile.jsn.gz -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/data/orc
30.96       copying pyarrow/tests/data/orc/TestOrcFile.emptyFile.orc -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/data/orc
30.96       copying pyarrow/tests/data/orc/TestOrcFile.test1.jsn.gz -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/data/orc
30.96       copying pyarrow/tests/data/orc/TestOrcFile.test1.orc -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/data/orc
30.96       copying pyarrow/tests/data/orc/TestOrcFile.testDate1900.jsn.gz -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/data/orc
30.96       copying pyarrow/tests/data/orc/TestOrcFile.testDate1900.orc -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/data/orc
30.96       copying pyarrow/tests/data/orc/decimal.jsn.gz -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/data/orc
30.96       copying pyarrow/tests/data/orc/decimal.orc -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/data/orc
30.96       creating build/lib.linux-x86_64-cpython-312/pyarrow/tests/data/feather
30.96       copying pyarrow/tests/data/feather/v0.17.0.version.2-compression.lz4.feather -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/data/feather
30.96       creating build/lib.linux-x86_64-cpython-312/pyarrow/src
30.96       creating build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow
30.96       creating build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/CMakeLists.txt -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/api.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/arrow_to_pandas.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/arrow_to_pandas.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/arrow_to_python_internal.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/async.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/benchmark.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/benchmark.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/common.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/common.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/csv.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/csv.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/datetime.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/datetime.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/decimal.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/decimal.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/deserialize.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/deserialize.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/extension_type.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/extension_type.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/filesystem.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/filesystem.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/flight.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/flight.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/gdb.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/gdb.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/helpers.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/helpers.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/inference.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/inference.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/init.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/init.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/io.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/io.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/ipc.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/ipc.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/iterators.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/numpy_convert.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/numpy_convert.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/numpy_internal.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/numpy_interop.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/numpy_to_arrow.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/numpy_to_arrow.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/parquet_encryption.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/parquet_encryption.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/pch.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/platform.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/pyarrow.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/pyarrow.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/pyarrow_api.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/pyarrow_lib.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/python_test.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/python_test.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/python_to_arrow.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/python_to_arrow.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/serialize.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/serialize.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/type_traits.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/udf.cc -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/udf.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       copying pyarrow/src/arrow/python/visibility.h -> build/lib.linux-x86_64-cpython-312/pyarrow/src/arrow/python
30.96       running build_ext
30.96       creating /tmp/pip-install-6vmlv8p3/pyarrow_69dbbd2abee541f9a7de9153d465eb10/build/temp.linux-x86_64-cpython-312
30.96       -- Running cmake for PyArrow
30.96       cmake -DCMAKE_INSTALL_PREFIX=/tmp/pip-install-6vmlv8p3/pyarrow_69dbbd2abee541f9a7de9153d465eb10/build/lib.linux-x86_64-cpython-312/pyarrow -DPYTHON_EXECUTABLE=/usr/local/bin/python -DPython3_EXECUTABLE=/usr/local/bin/python -DPYARROW_CXXFLAGS= -DPYARROW_BUNDLE_ARROW_CPP=off -DPYARROW_BUNDLE_CYTHON_CPP=off -DPYARROW_GENERATE_COVERAGE=off -DCMAKE_BUILD_TYPE=release /tmp/pip-install-6vmlv8p3/pyarrow_69dbbd2abee541f9a7de9153d465eb10
30.96       error: command 'cmake' failed: No such file or directory
30.96       [end of output]
30.96   
30.96   note: This error originates from a subprocess, and is likely not a problem with pip.
30.96   ERROR: Failed building wheel for pyarrow
30.96 Failed to build pyarrow
31.01 ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (pyarrow)

@assignUser
Copy link
Member

@numbworks you have a different problem, you don't have cmake installed. Building Pyarrow from source needs a matching version of Arrow C++ available as well. See docs: https://arrow.apache.org/docs/developers/python.html#building-on-linux-and-macos
And please refrain from posting on multiple issues, it just creates notification spam.

@hteeyeoh your problem is that the dir .. does not contain the arrow root CMakeLists.txt, which happens because each run command is in it's own shell, so the cd arrow/cpp/build doesn not affect the next RUN, so moving the cd command into the cmake would work or you can use -S /arrow/cpp -B /arrow/cpp/build to specify both source and build dir explicitly without relying on the cwd: https://cmake.org/cmake/help/latest/manual/cmake.1.html#generate-a-project-buildsystem

@numbworks
Copy link

you have a different problem, you don't have cmake installed. Building Pyarrow from source needs a matching version of Arrow C++ available as well.

@assignUser
Hey Jacob, thank you for your answer, but it seems from the thread that your solution doesn't work.

Do you have a Dockerfile example that demonstrates that your proposal works?

I also read the following answer from you in another thread:

Please see #18036, we don't publish musl wheels at the moment.

Are there plan to change this? Because, I don't know if you are aware of it, but PyArrow will be a mandatory dependency for Pandas starting Pandas v3.0.0 - please read more here: https://pandas.pydata.org/pdeps/0010-required-pyarrow-dependency.html.

One of the official Python images on Docker Hub is based on Alpine Linux, which it's also the more optimized on a resources perspective. The lack of PyArrow wheels for Alpine means that, starting Pandas 3.0.0 (maybe in six months from now), thousands of Python developers and data scientists won't be able to do their work in a containerized environment.

The only alternative at the moment is to use the Debian-based image on Python's Docker Hub, which it's 15x more resource hungry than Alpine:

FROM python:3.12.5-bullseye

RUN pip install --upgrade pip \
    && pip install numpy==1.26.3 \
    && pip install pyarrow==15.0.0 \ 
    && pip install openpyxl==3.1.0 \ 
    && pip install pandas==2.2.0 \ 

I hope you can discuss this matter within the team and assign the right priority to it.

Thank you.

@hteeyeoh
Copy link
Author

@numbworks you have a different problem, you don't have cmake installed. Building Pyarrow from source needs a matching version of Arrow C++ available as well. See docs: https://arrow.apache.org/docs/developers/python.html#building-on-linux-and-macos And please refrain from posting on multiple issues, it just creates notification spam.

@hteeyeoh your problem is that the dir .. does not contain the arrow root CMakeLists.txt, which happens because each run command is in it's own shell, so the cd arrow/cpp/build doesn not affect the next RUN, so moving the cd command into the cmake would work or you can use -S /arrow/cpp -B /arrow/cpp/build to specify both source and build dir explicitly without relying on the cwd: https://cmake.org/cmake/help/latest/manual/cmake.1.html#generate-a-project-buildsystem

Thank you. Will give it a try

@assignUser
Copy link
Member

@numbworks If you had checked out the issue you would know that we are not against providing musl wheels, someone just has to do the work.

I hope you can discuss this matter within the team and assign the right priority to it.

Hey, cool thing about this being an open source project: you are part of the team! So if this is something you would like to see the fastest way to get it is to contribute to a solution.

@timetheoretical
Copy link

Do you have a Dockerfile example that demonstrates that your proposal works?

I ran into the same issues, but have managed to build pyarrow with the Python alpine image with the following example:

FROM python:3.13-alpine
RUN set -xe \
    && apk update \
    && apk add                  --no-cache                  \
                                build-base                  \
                                cmake                       \
                                apache-arrow-dev            \
    && pip3 install             --upgrade pip               \
    && pip3 install             --no-cache-dir              \
                                --prefer-binary             \
                                pyarrow

@CuervoEC
Copy link

CuervoEC commented Feb 6, 2025

Do you have a Dockerfile example that demonstrates that your proposal works?

I ran into the same issues, but have managed to build pyarrow with the Python alpine image with the following example:

FROM python:3.13-alpine
RUN set -xe
&& apk update
&& apk add --no-cache
build-base
cmake
apache-arrow-dev
&& pip3 install --upgrade pip
&& pip3 install --no-cache-dir
--prefer-binary
pyarrow

I had the same issue with a dockerfile, this worked smoothly.

@hteeyeoh
Copy link
Author

hteeyeoh commented Feb 7, 2025

Do you have a Dockerfile example that demonstrates that your proposal works?

I ran into the same issues, but have managed to build pyarrow with the Python alpine image with the following example:

FROM python:3.13-alpine
RUN set -xe
&& apk update
&& apk add --no-cache
build-base
cmake
apache-arrow-dev
&& pip3 install --upgrade pip
&& pip3 install --no-cache-dir
--prefer-binary
pyarrow

Sorry for the delay. I use the same steps almost similar to @CuervoEC shown. Just that im using older alpine version as base image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants