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)