[ https://issues.apache.org/jira/browse/ARROW-13053?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17385600#comment-17385600 ]
Dorian Kind commented on ARROW-13053: ------------------------------------- [~rdub] The linker error probably is rooted in Homebrew's {{apache-arrow}} [dependency on Python 3.9|https://formulae.brew.sh/formula/apache-arrow]. I get the same error if I try to install the built library into a 3.8 virtualenv, but with a 3.9 environment it works fine. In order to successfully install arrow for Python 3.8 you'd probably also have to compile the the C++ libraries yourself, using the `-DPython3_EXECUTABLE` flag to point to the right Python. > [Python] Build fails on MacOS Big Sur using homebrewed Arrow libraries > ---------------------------------------------------------------------- > > Key: ARROW-13053 > URL: https://issues.apache.org/jira/browse/ARROW-13053 > Project: Apache Arrow > Issue Type: Bug > Components: Python > Affects Versions: 4.0.1 > Environment: MacOS BigSur 11.4 (Apple Silicon) > Python 3.9.5 > apache-arrow 4.0.1 (via Homebrew) > Reporter: Dorian Kind > Assignee: Dorian Kind > Priority: Major > Labels: build-failure, pull-request-available > Fix For: 5.0.0 > > Time Spent: 0.5h > Remaining Estimate: 0h > > When installing pyarrow 4.0.1 from source, the install step fails with > {{error: can't copy 'build/lib.macosx-11.3-arm64-3.9/pyarrow/include/arrow': > doesn't exist or not a regular file}} > because the headers directory > {{build/lib.macosx-11.3-arm64-3.9/pyarrow/include/arrow}} > is a relative symlink to {{../Cellar/apache-arrow/4.0.1/include/arrow}} > I believe this is caused by the build system including the header files from > {{/opt/homebrew/include/arrow}}, which is the above symlink: > {\{ls -hl /opt/homebrew/include/arrow}} > {{lrwxr-xr-x 1 dki admin 42B Jun 8 15:35 /opt/homebrew/include/arrow -> > ../Cellar/apache-arrow/4.0.1/include/arrow}} > I was able work around this issue by modifying line 334 in {{CMakeLists.txt}} > from > {{#Always bundle includes}} > {{file(COPY ${ARROW_INCLUDE_DIR}/arrow DESTINATION > ${BUILD_OUTPUT_ROOT_DIRECTORY}/include)}} > to > {{#Always bundle includes}} > {{get_filename_component(REAL_ARROW_INCLUDE_DIR "${ARROW_INCLUDE_DIR}/arrow" > REALPATH)}} > {{file(COPY ${}}{{REAL_ARROW_INCLUDE_DIR}}{{} DESTINATION > ${BUILD_OUTPUT_ROOT_DIRECTORY}/include)}} > But I'm not familiar with CMake, so maybe there is a more appropriate way to > fix this. -- This message was sent by Atlassian Jira (v8.3.4#803005)