apache / arrow

Apache Arrow is the universal columnar format and multi-language toolbox for fast data interchange and in-memory analytics
https://arrow.apache.org/
Apache License 2.0
14.48k stars 3.52k forks source link

[Python] Can not build on WINDOWS ON ARM #40812

Open ZYPThu opened 7 months ago

ZYPThu commented 7 months ago

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

I'm trying to build pyarrow on my computer, however i failed informations are as follows:

CPU: Snapdragon (TM) 8cx Gen 3 @ 3.0 GHz   3.00 GHz
Operating System: Windows 11 (on Arm) Pro  23H2
Python Version: Python 3.11.8 (tags/v3.11.8:db85d51, Feb  6 2024, 22:15:59) [MSC v.1937 64 bit (ARM64)] on win32
CMAKE Generators:* Visual Studio 17 2022        = Generates Visual Studio 2022 project files.
                                 Use -A option to specify architecture.
  Visual Studio 16 2019        = Generates Visual Studio 2019 project files.
                                 Use -A option to specify architecture.
  Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 12 2013 [arch] = Deprecated.  Generates Visual Studio 2013
                                 project files.  Optional [arch] can be
                                 "Win64" or "ARM".
  Visual Studio 9 2008 [arch]  = Deprecated.  Generates Visual Studio 2008
                                 project files.  Optional [arch] can be
                                 "Win64" or "IA64".

Error Information:

-- Running cmake for PyArrow
      cmake -DCMAKE_INSTALL_PREFIX=C:\Users\galoi\AppData\Local\Temp\pip-install-01tgqd25\pyarrow_11093f30426b4b94af430898f7f63494\build\lib.win-arm64-cpython-311\pyarrow -DPYTHON_EXECUTABLE=D:\Anaconda3\envs\Python311-ARM64\Scripts\python.exe -DPython3_EXECUTABLE=D:\Anaconda3\envs\Python311-ARM64\Scripts\python.exe -DPYARROW_CXXFLAGS= -G "Visual Studio 15 2017 Win64" -DPYARROW_BUILD_CUDA=off -DPYARROW_BUILD_SUBSTRAIT=off -DPYARROW_BUILD_FLIGHT=off -DPYARROW_BUILD_GANDIVA=off -DPYARROW_BUILD_ACERO=off -DPYARROW_BUILD_DATASET=off -DPYARROW_BUILD_ORC=off -DPYARROW_BUILD_PARQUET=off -DPYARROW_BUILD_PARQUET_ENCRYPTION=off -DPYARROW_BUILD_GCS=off -DPYARROW_BUILD_S3=off -DPYARROW_BUILD_HDFS=off -DPYARROW_BUNDLE_ARROW_CPP=off -DPYARROW_BUNDLE_CYTHON_CPP=off -DPYARROW_GENERATE_COVERAGE=off -DCMAKE_BUILD_TYPE=release C:\Users\galoi\AppData\Local\Temp\pip-install-01tgqd25\pyarrow_11093f30426b4b94af430898f7f63494
      CMake Error at CMakeLists.txt:22 (project):
        Generator

          Visual Studio 15 2017 Win64

        could not find any instance of Visual Studio.

      -- Configuring incomplete, errors occurred!
      error: command 'D:\\Program Files\\CMake\\bin\\cmake.exe' failed with exit code 1
      [end of output]

Component(s)

Python

kou commented 7 months ago

What is "WOA"?

cyb70289 commented 7 months ago

We did tested Windows on Arm when review PR https://github.com/apache/arrow/pull/11383. This patch uses clang for windows, not visual studio. It's more than two years ago, not sure of current status. Related document is at https://github.com/apache/arrow/blob/main/docs/source/developers/cpp/windows.rst#building-on-windowsarm64-using-ninja-and-clang