You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "chendan (Jira)" <ji...@apache.org> on 2022/08/22 08:05:00 UTC

[jira] [Created] (ARROW-17491) Build python lib failed for ARMv8

chendan created ARROW-17491:
-------------------------------

             Summary: Build python lib failed for ARMv8
                 Key: ARROW-17491
                 URL: https://issues.apache.org/jira/browse/ARROW-17491
             Project: Apache Arrow
          Issue Type: Task
          Components: Python
    Affects Versions: 2.0.0
            Reporter: chendan


I want to build pyarrow lib for my armv8-a with my own arm v8 cross-compiler. Althrough arror=2.0.0 is old I need to build it for pyflink and I confirmed that 2.0.0 does support armv8 building.

I follow the steps described in [https://arrow.apache.org/docs/developers/python.html#using-conda|https://arrow.apache.org/docs/developers/python.html#using-conda:]

Firstly , I have build out arrow c++ libs of arm:

libarrow.a                       libarrow_python.a       libarrow_python.so.200.0.0  libarrow.so.200.0.0
libarrow_bundled_dependencies.a  libarrow_python.so      libarrow.so                 libparquet.a
libarrow_dataset.a               libarrow_python.so.200  libarrow.so.200

The make -4j command failed due to some third party arm lib has not been built out for linking. But It did not affect the building out of the upper libs.

Then I perform building pyarrow step:

pushd arrow/python

export PYARROW_WITH_PARQUET=1

export PYARROW_WITH_DATASET=1

export PYARROW_PARALLEL=4 python setup.py build_ext --inplace

Then an error occured:

-- System processor: arm
set ARROW_CPU_FLAG
-- Arrow build warning level: PRODUCTION
Using ld linker
Configured for RELEASE build (set with cmake -DCMAKE_BUILD_TYPE=\{release,debug,...})
-- Build Type: RELEASE
ARROW_ARMV8_ARCH:
ARROW_ARMV8_ARCH
-- Build output directory: /root/build/tmp/arrow/python/build/temp.linux-x86_64-3.6/release
CMake Warning (dev) at /home/anaconda3/envs/pyarrow-dev/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (Arrow).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /home/anaconda3/envs/pyarrow-dev/share/cmake-3.23/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args)
  cmake_modules/FindArrow.cmake:39 (include)
  cmake_modules/FindArrowPython.cmake:46 (find_package)
  CMakeLists.txt:219 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Could NOT find Arrow (missing: Arrow_DIR)
-- Checking for module 'arrow'
--   No package 'arrow' found
CMake Error at /home/anaconda3/envs/pyarrow-dev/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find Arrow (missing: ARROW_INCLUDE_DIR ARROW_LIB_DIR
  ARROW_FULL_SO_VERSION ARROW_SO_VERSION)
Call Stack (most recent call first):
  /home/anaconda3/envs/pyarrow-dev/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  cmake_modules/FindArrow.cmake:418 (find_package_handle_standard_args)
  cmake_modules/FindArrowPython.cmake:46 (find_package)
  CMakeLists.txt:219 (find_package)


-- Configuring incomplete, errors occurred!
error: command 'cmake' failed with exit status 1

What's it? It seems that I need to pip install arrow and pyarrow. After the installation, the error still occured. How to solve it?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)