-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[feat][build] Support ARM64-based docker images #17733
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
Changes from all commits
6a2d129
e0d465a
b2d5605
9fe71d9
a13e8cb
1ae7709
1909f25
2793885
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -20,6 +20,13 @@ | |
|
|
||
| set -x | ||
|
|
||
| # TODO: remove these lines once grpcio doesn't need to compile from source on ARM64 platform | ||
| ARCH=$(uname -m | sed -r 's/aarch64/arm64/g' | awk '!/arm64/{$0="amd64"}1') | ||
| if [ "${ARCH}" == "arm64" ]; then | ||
| apt update | ||
| apt -y install build-essential python3-dev | ||
| fi | ||
|
|
||
| PYTHON_MAJOR_MINOR=$(python3 -V | sed -E 's/.* ([[:digit:]]+)\.([[:digit:]]+).*/\1\2/') | ||
| WHEEL_FILE=$(ls /pulsar/pulsar-client | grep "cp${PYTHON_MAJOR_MINOR}") | ||
| pip3 install /pulsar/pulsar-client/${WHEEL_FILE}[all] | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. observed this error.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this problem will anyway go away once we make the changes for PIP-209 (moving C++ client out of repo)
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @heesung-sn Be aware that you should pass
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I made this patch to support ARM64-based docker images while keeping the current workflow as is. That is, you should manually specify that you want to build an ARM64-based image. About automatically detecting platforms, see also #17733 (comment) that we have some name matching problems. And a clean solution would be, as @merlimat described, we publish C++/Python client alone and download them from the package manager so that leveraging the package manager's platform detect functionality.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I provided the pythonClientBuildArch option when I encountered the error.
I tried to hard-code like the below, then it passes. I wonder if the client somehow output wheel files for both archs.
|
||
Uh oh!
There was an error while loading. Please reload this page.