Skip to content

Conversation

@kszucs
Copy link
Member

@kszucs kszucs commented Jul 6, 2021

The following compiles the 3.9 wheel on apple silicon though I'm getting a segfault on import despite that all binaries have the right arch and linkage/bundling seems correct. I wasn't able to produce a coredump yet.

@github-actions
Copy link

github-actions bot commented Jul 6, 2021

cmake \
-DCMAKE_APPLE_SILICON_PROCESSOR=arm64 \
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need to use the CMAKE_SYSTEM_* variables.

-DARROW_BUILD_STATIC=OFF \
-DARROW_BUILD_TESTS=OFF \
-DARROW_DATASET=${ARROW_DATASET} \
-DARROW_DEPENDENCY_SOURCE="VCPKG" \
-DARROW_DEPENDENCY_USE_SHARED=OFF \
-DARROW_FLIGHT==${ARROW_FLIGHT} \
-DARROW_FLIGHT=${ARROW_FLIGHT} \
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gRPC is not supported on apple silicon at the moment

@kszucs kszucs changed the title ARROW-12122: [Python] Cannot install via pip. M1 mac [WIP] ARROW-12122: [Python] Cannot install via pip M1 mac [WIP] Jul 6, 2021
@@ -42,7 +42,7 @@ ARROW_JEMALLOC_BUILD_VERSION=5.2.1
ARROW_LZ4_BUILD_VERSION=v1.9.3
# mimalloc 1.6.7 didn't build on Visual Studio 2015
# https://github.com/microsoft/mimalloc/issues/353
ARROW_MIMALLOC_BUILD_VERSION=v1.6.4
ARROW_MIMALLOC_BUILD_VERSION=v1.7.2
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to check that it won't cause any performance regressions.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lidavidm how can I verify that #10024 doesn't apply here?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As far as I can see that should only apply to 2.0.0 and 1.7.x should be safe (the commenter in microsoft/mimalloc#363 claims 1.7.0 doesn't affect them at least)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And the problematic test is still there - so assuming tests pass we should be OK

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@kszucs kszucs changed the title ARROW-12122: [Python] Cannot install via pip M1 mac [WIP] ARROW-12122: [Python] Cannot install via pip M1 mac Jul 12, 2021
@kszucs
Copy link
Member Author

kszucs commented Jul 12, 2021

@github-actions crossbow submit wheel-macos-*

@github-actions
Copy link

Revision: 0f094730b1e9f3e49077a8d746668251e2bb8ddf

Submitted crossbow builds: ursacomputing/crossbow @ actions-585

Task Status
wheel-macos-big-sur-cp39-arm64 Github Actions
wheel-macos-high-sierra-cp36-amd64 Github Actions
wheel-macos-high-sierra-cp37-amd64 Github Actions
wheel-macos-high-sierra-cp38-amd64 Github Actions
wheel-macos-high-sierra-cp39-amd64 Github Actions
wheel-macos-mavericks-cp36-amd64 Github Actions
wheel-macos-mavericks-cp37-amd64 Github Actions
wheel-macos-mavericks-cp38-amd64 Github Actions
wheel-macos-mavericks-cp39-amd64 Github Actions

@kszucs
Copy link
Member Author

kszucs commented Jul 12, 2021

@github-actions crossbow submit wheel-macos-*

@github-actions
Copy link

Revision: e1ab42b861b169217a02102c969c939f47695808

Submitted crossbow builds: ursacomputing/crossbow @ actions-586

Task Status
wheel-macos-big-sur-cp39-arm64 Github Actions
wheel-macos-high-sierra-cp36-amd64 Github Actions
wheel-macos-high-sierra-cp37-amd64 Github Actions
wheel-macos-high-sierra-cp38-amd64 Github Actions
wheel-macos-high-sierra-cp39-amd64 Github Actions
wheel-macos-mavericks-cp36-amd64 Github Actions
wheel-macos-mavericks-cp37-amd64 Github Actions
wheel-macos-mavericks-cp38-amd64 Github Actions
wheel-macos-mavericks-cp39-amd64 Github Actions

versions=([3.6]=3.6.8
[3.7]=3.7.9
[3.8]=3.8.9
[3.9]=3.9.6)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like there is no universal2 installers for python < 3.9

@kszucs
Copy link
Member Author

kszucs commented Jul 12, 2021

@kou could you please give it a preliminary review?

Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure!

ARROW_JEMALLOC: OFF
ARROW_SIMD_LEVEL: NONE
CC: "clang"
CMAKE_CXX_COMPILER_LAUNCHER: "ccache"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need this?
I think that our CMake configuration detects ccache automatically.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need this to use ccache when compiling the vcpkg binaries.

@@ -19,28 +19,29 @@
{{ macros.github_header() }}

env:
CC: "clang"
CXX: "clang++"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you keep this list in alphabetical order?

@kszucs
Copy link
Member Author

kszucs commented Jul 13, 2021

@github-actions crossbow submit -g wheel

@github-actions
Copy link

Revision: af0f71743fce3a9b0e4ce648b1c861a4cbc3d079

Submitted crossbow builds: ursacomputing/crossbow @ actions-587

Task Status
wheel-macos-big-sur-cp39-arm64 Github Actions
wheel-macos-high-sierra-cp36-amd64 Github Actions
wheel-macos-high-sierra-cp37-amd64 Github Actions
wheel-macos-high-sierra-cp38-amd64 Github Actions
wheel-macos-high-sierra-cp39-amd64 Github Actions
wheel-macos-mavericks-cp36-amd64 Github Actions
wheel-macos-mavericks-cp37-amd64 Github Actions
wheel-macos-mavericks-cp38-amd64 Github Actions
wheel-macos-mavericks-cp39-amd64 Github Actions
wheel-manylinux2010-cp36-amd64 Github Actions
wheel-manylinux2010-cp37-amd64 Github Actions
wheel-manylinux2010-cp38-amd64 Github Actions
wheel-manylinux2010-cp39-amd64 Github Actions
wheel-manylinux2014-cp36-amd64 Github Actions
wheel-manylinux2014-cp36-arm64 TravisCI
wheel-manylinux2014-cp37-amd64 Github Actions
wheel-manylinux2014-cp37-arm64 TravisCI
wheel-manylinux2014-cp38-amd64 Github Actions
wheel-manylinux2014-cp38-arm64 TravisCI
wheel-manylinux2014-cp39-amd64 Github Actions
wheel-manylinux2014-cp39-arm64 TravisCI
wheel-windows-cp36 Github Actions
wheel-windows-cp37 Github Actions
wheel-windows-cp38 Github Actions
wheel-windows-cp39 Github Actions

@kszucs kszucs changed the title ARROW-12122: [Python] Cannot install via pip M1 mac ARROW-12122: [Python] Cannot install via pip M1 mac [WIP] Jul 13, 2021
@kszucs kszucs changed the title ARROW-12122: [Python] Cannot install via pip M1 mac [WIP] ARROW-12122: [Python] Cannot install via pip M1 mac Jul 13, 2021
@kszucs
Copy link
Member Author

kszucs commented Jul 13, 2021

@github-actions crossbow submit -g wheel

@github-actions
Copy link

Revision: 736739d28dcacc2256671660be0a6bbe8ed0008d

Submitted crossbow builds: ursacomputing/crossbow @ actions-588

Task Status
wheel-macos-big-sur-cp39-arm64 Github Actions
wheel-macos-big-sur-cp39-universal2 Github Actions
wheel-macos-high-sierra-cp36-amd64 Github Actions
wheel-macos-high-sierra-cp37-amd64 Github Actions
wheel-macos-high-sierra-cp38-amd64 Github Actions
wheel-macos-high-sierra-cp39-amd64 Github Actions
wheel-macos-mavericks-cp36-amd64 Github Actions
wheel-macos-mavericks-cp37-amd64 Github Actions
wheel-macos-mavericks-cp38-amd64 Github Actions
wheel-macos-mavericks-cp39-amd64 Github Actions
wheel-manylinux2010-cp36-amd64 Github Actions
wheel-manylinux2010-cp37-amd64 Github Actions
wheel-manylinux2010-cp38-amd64 Github Actions
wheel-manylinux2010-cp39-amd64 Github Actions
wheel-manylinux2014-cp36-amd64 Github Actions
wheel-manylinux2014-cp36-arm64 TravisCI
wheel-manylinux2014-cp37-amd64 Github Actions
wheel-manylinux2014-cp37-arm64 TravisCI
wheel-manylinux2014-cp38-amd64 Github Actions
wheel-manylinux2014-cp38-arm64 TravisCI
wheel-manylinux2014-cp39-amd64 Github Actions
wheel-manylinux2014-cp39-arm64 TravisCI
wheel-windows-cp36 Github Actions
wheel-windows-cp37 Github Actions
wheel-windows-cp38 Github Actions
wheel-windows-cp39 Github Actions

@kszucs
Copy link
Member Author

kszucs commented Jul 19, 2021

@github-actions crossbow submit -g nightly

@github-actions
Copy link

Revision: d29f104

Submitted crossbow builds: ursacomputing/crossbow @ actions-612

Task Status
centos-7-amd64 Github Actions
centos-8-amd64 Github Actions
centos-8-arm64 TravisCI
conda-clean Azure
conda-linux-gcc-py36-arm64 Azure
conda-linux-gcc-py36-cpu-r40 Azure
conda-linux-gcc-py36-cuda Azure
conda-linux-gcc-py37-arm64 Azure
conda-linux-gcc-py37-cpu-r41 Azure
conda-linux-gcc-py37-cuda Azure
conda-linux-gcc-py38-arm64 Azure
conda-linux-gcc-py38-cpu Azure
conda-linux-gcc-py38-cuda Azure
conda-linux-gcc-py39-arm64 Azure
conda-linux-gcc-py39-cpu Azure
conda-linux-gcc-py39-cuda Azure
conda-osx-arm64-clang-py38 Azure
conda-osx-arm64-clang-py39 Azure
conda-osx-clang-py36-r40 Azure
conda-osx-clang-py37-r41 Azure
conda-osx-clang-py38 Azure
conda-osx-clang-py39 Azure
conda-win-vs2017-py36-r40 Azure
conda-win-vs2017-py37-r41 Azure
conda-win-vs2017-py38 Azure
conda-win-vs2017-py39 Azure
debian-bullseye-amd64 Github Actions
debian-bullseye-arm64 TravisCI
debian-buster-amd64 Github Actions
debian-buster-arm64 TravisCI
example-cpp-minimal-build-static Github Actions
example-cpp-minimal-build-static-system-dependency Github Actions
homebrew-cpp Github Actions
homebrew-r-autobrew Github Actions
java-jars Github Actions
nuget Github Actions
python-sdist Github Actions
test-build-vcpkg-win Github Actions
test-conda-cpp Github Actions
test-conda-cpp-valgrind Github Actions
test-conda-python-3.6 Github Actions
test-conda-python-3.6-pandas-0.23 Github Actions
test-conda-python-3.7 Github Actions
test-conda-python-3.7-dask-latest Github Actions
test-conda-python-3.7-dask-master Github Actions
test-conda-python-3.7-hdfs-2.9.2 Github Actions
test-conda-python-3.7-hdfs-3.2.1 Github Actions
test-conda-python-3.7-kartothek-latest Github Actions
test-conda-python-3.7-kartothek-master Github Actions
test-conda-python-3.7-pandas-0.24 Github Actions
test-conda-python-3.7-pandas-latest Github Actions
test-conda-python-3.7-spark-branch-3.0 Github Actions
test-conda-python-3.7-turbodbc-latest Github Actions
test-conda-python-3.7-turbodbc-master Github Actions
test-conda-python-3.8 Github Actions
test-conda-python-3.8-hypothesis Github Actions
test-conda-python-3.8-pandas-latest Github Actions
test-conda-python-3.8-pandas-nightly Github Actions
test-conda-python-3.8-spark-master Github Actions
test-conda-python-3.9 Github Actions
test-conda-python-3.9-pandas-master Github Actions
test-debian-10-cpp Github Actions
test-debian-10-go-1.15 Azure
test-debian-10-python-3 Azure
test-debian-c-glib Github Actions
test-debian-ruby Github Actions
test-fedora-33-cpp Github Actions
test-fedora-33-python-3 Azure
test-r-devdocs Github Actions
test-r-gcc-11 Github Actions
test-r-install-local Github Actions
test-r-linux-as-cran Github Actions
test-r-linux-rchk Github Actions
test-r-linux-valgrind Azure
test-r-minimal-build Azure
test-r-rhub-ubuntu-gcc-release-latest Azure
test-r-rocker-r-base-latest Azure
test-r-rstudio-r-base-3.6-bionic Azure
test-r-rstudio-r-base-3.6-centos7-devtoolset-8 Azure
test-r-rstudio-r-base-3.6-centos8 Azure
test-r-rstudio-r-base-3.6-opensuse15 Azure
test-r-rstudio-r-base-3.6-opensuse42 Azure
test-r-rtools-35 Github Actions
test-r-ubuntu-21.04 Github Actions
test-r-version-compatibility Github Actions
test-r-versions Github Actions
test-r-without-arrow Azure
test-ubuntu-18.04-cpp Github Actions
test-ubuntu-18.04-cpp-release Github Actions
test-ubuntu-18.04-cpp-static Github Actions
test-ubuntu-18.04-python-3 Azure
test-ubuntu-18.04-r-sanitizer Azure
test-ubuntu-20.04-cpp Github Actions
test-ubuntu-20.04-cpp-14 Github Actions
test-ubuntu-20.04-cpp-17 Github Actions
test-ubuntu-20.04-cpp-thread-sanitizer Github Actions
test-ubuntu-20.10-docs Azure
test-ubuntu-c-glib Github Actions
test-ubuntu-default-docs Azure
test-ubuntu-ruby Github Actions
ubuntu-bionic-amd64 Github Actions
ubuntu-bionic-arm64 TravisCI
ubuntu-focal-amd64 Github Actions
ubuntu-focal-arm64 TravisCI
ubuntu-groovy-amd64 Github Actions
ubuntu-groovy-arm64 TravisCI
ubuntu-hirsute-amd64 Github Actions
ubuntu-hirsute-arm64 TravisCI
wheel-macos-big-sur-cp39-arm64 Github Actions
wheel-macos-big-sur-cp39-universal2 Github Actions
wheel-macos-high-sierra-cp36-amd64 Github Actions
wheel-macos-high-sierra-cp37-amd64 Github Actions
wheel-macos-high-sierra-cp38-amd64 Github Actions
wheel-macos-high-sierra-cp39-amd64 Github Actions
wheel-macos-mavericks-cp36-amd64 Github Actions
wheel-macos-mavericks-cp37-amd64 Github Actions
wheel-macos-mavericks-cp38-amd64 Github Actions
wheel-macos-mavericks-cp39-amd64 Github Actions
wheel-manylinux2010-cp36-amd64 Github Actions
wheel-manylinux2010-cp37-amd64 Github Actions
wheel-manylinux2010-cp38-amd64 Github Actions
wheel-manylinux2010-cp39-amd64 Github Actions
wheel-manylinux2014-cp36-amd64 Github Actions
wheel-manylinux2014-cp36-arm64 TravisCI
wheel-manylinux2014-cp37-amd64 Github Actions
wheel-manylinux2014-cp37-arm64 TravisCI
wheel-manylinux2014-cp38-amd64 Github Actions
wheel-manylinux2014-cp38-arm64 TravisCI
wheel-manylinux2014-cp39-amd64 Github Actions
wheel-manylinux2014-cp39-arm64 TravisCI
wheel-windows-cp36-amd64 Github Actions
wheel-windows-cp37-amd64 Github Actions
wheel-windows-cp38-amd64 Github Actions
wheel-windows-cp39-amd64 Github Actions

@kszucs
Copy link
Member Author

kszucs commented Jul 19, 2021

@github-actions crossbow submit wheel-macos-*

@github-actions
Copy link

Revision: bb3b170

Submitted crossbow builds: ursacomputing/crossbow @ actions-614

Task Status
wheel-macos-big-sur-cp39-arm64 Github Actions
wheel-macos-big-sur-cp39-universal2 Github Actions
wheel-macos-high-sierra-cp36-amd64 Github Actions
wheel-macos-high-sierra-cp37-amd64 Github Actions
wheel-macos-high-sierra-cp38-amd64 Github Actions
wheel-macos-high-sierra-cp39-amd64 Github Actions
wheel-macos-mavericks-cp36-amd64 Github Actions
wheel-macos-mavericks-cp37-amd64 Github Actions
wheel-macos-mavericks-cp38-amd64 Github Actions
wheel-macos-mavericks-cp39-amd64 Github Actions

Copy link
Member Author

@kszucs kszucs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, all the relevant builds are passing

@kszucs kszucs closed this in ac050c6 Jul 19, 2021
@mdagost
Copy link

mdagost commented Aug 7, 2021

It's great to see wheel builds for Apple Silicon. Any chance you may back port them to older versions? The snowflake python connector still relies on versions of pyarrow>=3.0.0,<3.1.0, and I've gone through quite a few backflips but haven't been able to get pyarrow installed from source.

@kszucs
Copy link
Member Author

kszucs commented Aug 7, 2021

I'm not sure since:

  • we haven't received many requests to build M1 wheels for older arrow releases yet
  • it would probably require more effort than it looks like at first glance

Either way, could you please create a JIRA ticket so we can track this?

@mdagost
Copy link

mdagost commented Aug 7, 2021

Cool. I crated a JIRA: https://issues.apache.org/jira/browse/ARROW-13583

Snowflake is pretty popular, so I'm surprised nobody has asked yet. They're saying they can't/won't upgrade their pyarrow until the September timeframe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants