[ https://issues.apache.org/jira/browse/ARROW-17491?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17582853#comment-17582853 ]
Yibo Cai commented on ARROW-17491: ---------------------------------- I didn't cross build Arrow. Probably due to some toolchain related cmake variables, not sure. I suggest a native build inside an aarch64 container. It can run on x86 host with qemu, though slower than cross build. See this link https://github.com/multiarch/qemu-user-static > 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 > Priority: Major > > 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)