-
Notifications
You must be signed in to change notification settings - Fork 3.7k
GH-33804: [Python] Add support for manylinux_2_28 wheel #33805
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you also add entries for this to https://github.com/apache/arrow/blob/master/dev/tasks/tasks.yml#L455-L465 ?
I've done so, but I'm not sure how to test correctness locally. This seems to be part of the crossbow archery component which kicks off nightly CI services which I'm fairly certain I don't have permissions for.
|
I see this started CI and related tests which revealed issues, addressed in 424fa08 and bf6f3b1. |
I don't think I understand the Archery/Crossbow setup. May I have some guidance on how to correct it please? |
We can run added tasks by |
You don't need to setup Crossbow locally. |
@github-actions crossbow submit wheel-manylinux* |
Revision: ee4d79d Submitted crossbow builds: ursacomputing/crossbow @ actions-05f1584a4c |
Co-authored-by: Sutou Kouhei <[email protected]>
Co-authored-by: Sutou Kouhei <[email protected]>
@github-actions crossbow submit wheel-manylinux* |
@github-actions crossbow submit wheel-manylinux* |
Revision: 21a7ff1 Submitted crossbow builds: ursacomputing/crossbow @ actions-a5e60b310f |
I still see complaints re: missing https://app.travis-ci.com/github/ursacomputing/crossbow/builds/260129759#L2059 I'll investigate more locally. |
If I insert the following into the Dockerfile RUN vcpkg install \
--clean-after-build \
--x-install-root=${VCPKG_ROOT}/installed \
openssl and run $ PYTHON=3.8 ARCH=arm64v8 archery docker run python-wheel-manylinux-2-28 it'll warn about missing I need to focus on other priorities for the next week. I'll try pick it up again after that. Note this error was reported on the vcpkg repo where the reported solution was to install Would it be possible to run the ci once more to get around the typo in 0cc575c? |
@github-actions crossbow submit wheel-manylinux* |
Revision: 0cc575c Submitted crossbow builds: ursacomputing/crossbow @ actions-14d1746afa |
This PR is still on my mind, but I haven't been able to devote time to working out a way forward. |
Looks like the following issue is relevant: |
Applied the fix 95d6827 described at the end of microsoft/vcpkg#29674 (comment):
I'm still testing this locally with a slow, emulated arm64v8 build, but it seems to have passed the $ ARCH=arm64v8 PYTHON=3.8 archery docker run python-wheel-manylinux-2-28
[+] Building 4964.0s (18/22)
=> [ 4/17] COPY ci/scripts/install_cmake.sh arrow/ci/scripts/ 0.0s
=> [ 5/17] RUN /arrow/ci/scripts/install_cmake.sh arm64v8 linux 3.21.4 /usr/local 16.8sc
=> [ 6/17] COPY ci/scripts/install_ninja.sh arrow/ci/scripts/ 0.0s
=> [ 7/17] RUN /arrow/ci/scripts/install_ninja.sh 1.10.2 /usr/local 399.5s
=> [ 8/17] COPY ci/scripts/install_ccache.sh arrow/ci/scripts/ 0.0s
=> [ 9/17] RUN /arrow/ci/scripts/install_ccache.sh 4.1 /usr/local 368.1s
=> [10/17] COPY ci/vcpkg/*.patch ci/vcpkg/*linux*.cmake arrow/ci/vcpkg/ 0.0s
=> [11/17] COPY ci/scripts/install_vcpkg.sh arrow/ci/scripts/ 0.0s
=> [12/17] RUN arrow/ci/scripts/install_vcpkg.sh /opt/vcpkg 2871ddd918cecb9cb642bcb9c56897f397283192 1270.0s
=> [13/17] COPY ci/vcpkg/vcpkg.json arrow/ci/vcpkg/ 0.0s
=> [14/17] RUN vcpkg install --clean-after-build --x-install-root=/opt/vcpkg/installed --x-manifest-root=/a 2853.9s
=> => # -- Extracting source /opt/vcpkg/downloads/google-snappy-1.1.9.tar.gz
=> => # -- Applying patch fix_clang-cl_build.patch
=> => # -- Applying patch snappy-disable-bmi.patch
=> => # -- Using source at /opt/vcpkg/buildtrees/snappy/src/1.1.9-405ddc5021.clean
=> => # -- Configuring arm64-linux-static-release
=> => # -- Building arm64-linux-static-release-rel |
Closing because it has been untouched for a while, in case it's still relevant feel free to reopen and move it forward 👍 |
Thanks for bumping this. Unfortunately I don't have a local arm64 system that would make it possible to quickly debug the build issues on that platform. Perhaps if the need for this change arises in future, someone with an arm64 system could take a look. |
@sjperkins try rebasing and push -f to get a clean CI run that might actually pass. |
I think the PR needs to re-opened for this to work? Pushes to the fork don't seem to be reflecting here anymore. |
Because you (force) pushed while the PR was closed, it can't be reopened anymore .. Sorry! (unless you would push again the branch as it was before, https://gist.github.com/robertpainsi/2c42c15f1ce6dab03a0675348edd4e2c) |
It's probably easier to just open a new PR, that wouldn't require any change on @sjperkins side and we could link the two PRs |
Done in #34818 |
Closes #33804 ### Rationale for this change At some point, it would be useful to support the new C++ ABI `_GLIBCXX_USE_CXX11_ABI=1` in pyarrow wheels, especially when moving to C++17: - #32415 I wanted to create a pyarrow wheel that supported the above ABI and adapted the existing CENTOS 7 manylinux2014 Dockerfile/wheel to produce a AlmaLinux 8 manylinux_2_28 Dockerfile/wheel. Publishing wheels with a new ABI needs [careful consideration](https://pypackaging-native.github.io/key-issues/native-dependencies/cpp_deps/) so I think this is low priority, but I thought I'd provide this manylinux_2_28 implementation in case it was useful for current/future adoption. ### What changes are included in this PR? A manylinux_2_28 Dockerfile, adopted from the existing manylinux2014 Dockerfile ### Are these changes tested? Manually tested at present ### Are there any user-facing changes? Yes, there's a major ABI change, as pyarrow will be compiled with `_GLIBCXX_USE_CXX11_ABI=1` * Closes: #33804 Supercedes: * #33805 * Closes: #33804 Lead-authored-by: Simon Perkins <[email protected]> Co-authored-by: Sutou Kouhei <[email protected]> Signed-off-by: Sutou Kouhei <[email protected]>
…#34818) Closes apache#33804 ### Rationale for this change At some point, it would be useful to support the new C++ ABI `_GLIBCXX_USE_CXX11_ABI=1` in pyarrow wheels, especially when moving to C++17: - apache#32415 I wanted to create a pyarrow wheel that supported the above ABI and adapted the existing CENTOS 7 manylinux2014 Dockerfile/wheel to produce a AlmaLinux 8 manylinux_2_28 Dockerfile/wheel. Publishing wheels with a new ABI needs [careful consideration](https://pypackaging-native.github.io/key-issues/native-dependencies/cpp_deps/) so I think this is low priority, but I thought I'd provide this manylinux_2_28 implementation in case it was useful for current/future adoption. ### What changes are included in this PR? A manylinux_2_28 Dockerfile, adopted from the existing manylinux2014 Dockerfile ### Are these changes tested? Manually tested at present ### Are there any user-facing changes? Yes, there's a major ABI change, as pyarrow will be compiled with `_GLIBCXX_USE_CXX11_ABI=1` * Closes: apache#33804 Supercedes: * apache#33805 * Closes: apache#33804 Lead-authored-by: Simon Perkins <[email protected]> Co-authored-by: Sutou Kouhei <[email protected]> Signed-off-by: Sutou Kouhei <[email protected]>
…#34818) Closes apache#33804 ### Rationale for this change At some point, it would be useful to support the new C++ ABI `_GLIBCXX_USE_CXX11_ABI=1` in pyarrow wheels, especially when moving to C++17: - apache#32415 I wanted to create a pyarrow wheel that supported the above ABI and adapted the existing CENTOS 7 manylinux2014 Dockerfile/wheel to produce a AlmaLinux 8 manylinux_2_28 Dockerfile/wheel. Publishing wheels with a new ABI needs [careful consideration](https://pypackaging-native.github.io/key-issues/native-dependencies/cpp_deps/) so I think this is low priority, but I thought I'd provide this manylinux_2_28 implementation in case it was useful for current/future adoption. ### What changes are included in this PR? A manylinux_2_28 Dockerfile, adopted from the existing manylinux2014 Dockerfile ### Are these changes tested? Manually tested at present ### Are there any user-facing changes? Yes, there's a major ABI change, as pyarrow will be compiled with `_GLIBCXX_USE_CXX11_ABI=1` * Closes: apache#33804 Supercedes: * apache#33805 * Closes: apache#33804 Lead-authored-by: Simon Perkins <[email protected]> Co-authored-by: Sutou Kouhei <[email protected]> Signed-off-by: Sutou Kouhei <[email protected]>
…#34818) Closes apache#33804 ### Rationale for this change At some point, it would be useful to support the new C++ ABI `_GLIBCXX_USE_CXX11_ABI=1` in pyarrow wheels, especially when moving to C++17: - apache#32415 I wanted to create a pyarrow wheel that supported the above ABI and adapted the existing CENTOS 7 manylinux2014 Dockerfile/wheel to produce a AlmaLinux 8 manylinux_2_28 Dockerfile/wheel. Publishing wheels with a new ABI needs [careful consideration](https://pypackaging-native.github.io/key-issues/native-dependencies/cpp_deps/) so I think this is low priority, but I thought I'd provide this manylinux_2_28 implementation in case it was useful for current/future adoption. ### What changes are included in this PR? A manylinux_2_28 Dockerfile, adopted from the existing manylinux2014 Dockerfile ### Are these changes tested? Manually tested at present ### Are there any user-facing changes? Yes, there's a major ABI change, as pyarrow will be compiled with `_GLIBCXX_USE_CXX11_ABI=1` * Closes: apache#33804 Supercedes: * apache#33805 * Closes: apache#33804 Lead-authored-by: Simon Perkins <[email protected]> Co-authored-by: Sutou Kouhei <[email protected]> Signed-off-by: Sutou Kouhei <[email protected]>
Closes #33804
Rationale for this change
At some point, it would be useful to support the new C++ ABI
_GLIBCXX_USE_CXX11_ABI=1
in pyarrow wheels, especially when moving to C++17:I wanted to create a pyarrow wheel that supported the above ABI and adapted the existing CENTOS 7 manylinux2014 Dockerfile/wheel to produce a AlmaLinux 8 manylinux_2_28 Dockerfile/wheel.
Publishing wheels with a new ABI needs careful consideration so I think this is low priority, but I thought I'd provide this manylinux_2_28 implementation in case it was useful for current/future adoption.
What changes are included in this PR?
A manylinux_2_28 Dockerfile, adopted from the existing manylinux2014 Dockerfile
Are these changes tested?
Manually tested at present
Are there any user-facing changes?
Yes, there's a major ABI change, as pyarrow will be compiled with
_GLIBCXX_USE_CXX11_ABI=1