zhanweiw commented on issue #44310:
URL: https://github.com/apache/arrow/issues/44310#issuecomment-2402288125

   @kou I can compile it successfully by below steps. Need modify the code to 
disable 'ARROW_BUILD_BUNDLED_DEPENDENCIES':
   If not disable this, will get this error('arrow_bundled_dependencies.lib' 
can't be found, it hasn't be compiled.):
   ```
   [190/191] Install the project...-- Install configuration: "RELEASE"
   -- Installing: 
C:/zhanweiw/source/Python/Src/arrow/Install/include/arrow/util/config.h
   CMake Error at src/arrow/cmake_install.cmake:40 (file):
     file INSTALL cannot find
     
"C:/zhanweiw/source/Python/Src/arrow/cpp/build/release/arrow_bundled_dependencies.lib":
     File exists.
   Call Stack (most recent call first):
     cmake_install.cmake:37 (include)
   ```
   
   1. Install ARM64 Python 3.12.6 and necessary Python extension.
   2. Install LLVM.
   3. Open "ARM64 Native Tools Command Prompt for VS 2022" command line and run 
below commands:
   ```
   cd C:\source
   git clone https://github.com/apache/arrow.git
   ```
   Add below patch:
   ```
   diff --git a/cpp/src/arrow/CMakeLists.txt b/cpp/src/arrow/CMakeLists.txt
   index c911f0f4e..ddd4dc0bb 100644
   --- a/cpp/src/arrow/CMakeLists.txt
   +++ b/cpp/src/arrow/CMakeLists.txt
   @@ -955,7 +955,7 @@ if(CXX_LINKER_SUPPORTS_VERSION_SCRIPT)
    endif()
   
    if(ARROW_BUILD_STATIC AND ARROW_BUNDLED_STATIC_LIBS)
   -  set(ARROW_BUILD_BUNDLED_DEPENDENCIES TRUE)
   +  set(ARROW_BUILD_BUNDLED_DEPENDENCIES FALSE)
    else()
      set(ARROW_BUILD_BUNDLED_DEPENDENCIES FALSE)
    endif()
   
   diff --git a/cpp/src/arrow/scalar.h b/cpp/src/arrow/scalar.h
   index 7a273c46c..a4fd9453e 100644
   --- a/cpp/src/arrow/scalar.h
   +++ b/cpp/src/arrow/scalar.h
   @@ -464,7 +464,7 @@ struct ARROW_EXPORT Date64Scalar : public 
DateScalar<Date64Type> {
    };
   
    template <typename T>
   -struct ARROW_EXPORT TimeScalar : public TemporalScalar<T> {
   +struct TimeScalar : public TemporalScalar<T> {
      using TemporalScalar<T>::TemporalScalar;
   
      TimeScalar(typename TemporalScalar<T>::ValueType value, TimeUnit::type 
unit)
   
   diff --git a/python/setup.py b/python/setup.py
   index 60b9a696d..36c3afa9f 100755
   --- a/python/setup.py
   +++ b/python/setup.py
   @@ -400,6 +400,7 @@ setup(
        distclass=BinaryDistribution,
        # Dummy extension to trigger build_ext
        ext_modules=[Extension('__dummy__', sources=[])],
   +    version="17.0.0",
        cmdclass={
            'build_ext': build_ext
        },
   ```
   
   4. Run commands below to compile arrow Cpp code:
   ```
   set ARROW_HOME=C:\source\arrow\Install
   set CMAKE_PREFIX_PATH=C:\source\arrow\Install
   set PYARROW_CMAKE_GENERATOR=Ninja
   
   mkdir arrow\cpp\build
   pushd arrow\cpp\build
   
   set CC=clang-cl
   set CXX=clang-cl
   
   cmake -G "Ninja" -DCMAKE_INSTALL_PREFIX=%ARROW_HOME% -DCMAKE_UNITY_BUILD=ON 
-DARROW_COMPUTE=ON -DARROW_CSV=ON -DARROW_DATASET=ON -DARROW_FILESYSTEM=ON 
-DARROW_HDFS=ON -DARROW_JSON=ON -DARROW_PARQUET=ON -DARROW_WITH_LZ4=ON 
-DARROW_WITH_SNAPPY=ON -DARROW_WITH_ZLIB=ON -DARROW_WITH_ZSTD=ON ..
   
   cmake --build . --target install --config Release
   
   popd
   ```
   
   5. Run commands below to compile PyArrow:
   ```
   pushd arrow\python
   set PYARROW_BUNDLE_ARROW_CPP=1
   python setup.py build_ext --inplace 
   python setup.py bdist_wheel
   popd
   ```
   


-- 
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]

Reply via email to