-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Help with running pyrrow on arm64 in Docker #10929
Comments
If you don't want to install Arrow from source you can try using the environment variable
I'm not sure off the top of my head what options are available in the pyarrow wheel. Also, some research suggests that there might be certain settings that can be set to get jemalloc working. Can you share your Dockerfile so I can try and reproduce?
Yikes, unfortunately, I don't see any message on that date on either user@ or dev@ Did you make sure to subscribe to the mailing list before you sent your message? The mailing list will ignore emails from unsubscribed users. If you're pretty confident you subscribed then email me at weston dot pace at gmail dot com (remove spaces and replace |
This error is known to me and can occur if you cross-compile |
We build the arm64 wheels on graviton2 travis instances in docker, so we do not cross-compile. @xhochy do you have a reference to the issue? Sadly I don't have an arm64 machine at hand, so I'm unable to reproduce the issue. pip install -e arrow/dev/archery[docker]
ARCH=arm64v8 PYTHON=3.8 archery docker run python-wheel-manylinux-2014
# wheel is going to be available under arrow/python/repaired_wheels/ |
I came across thus while building the conda packages for osx-arm64. No real documentation except what is in the recipe.
I would expect the error to also happen when run using Qemu. It could also be that the kernel of the graviton instances has a larger than normal page size and thus only breaks on smaller machines. |
Perhaps we can overcome that issue using jemalloc/jemalloc#467 (comment) ? |
Yes, I'm doing that with |
Thanks everyone for your help!
Unfortunately I can't as it's used at work.
This doesn't seem to help either. Here's a log snippet where I've echoed and grepped the container's environment to check that it's set properly:
Now I'm wondering if something else except for Arrow is using jemalloc
Yes, I overlooked subscribing to the mailing list. I have now. Thanks!
I'll trying build a wheel and/or installing jemalloc from source. Thanks! |
@nesyamun could you please try out pyarrow-6.0.0.dev45-cp38-cp38-manylinux2014_aarch64.whl? |
Thanks @kszucs, unfortunately it doesn't work. I've checked the page size of the system I'm running pyarrow on - it's 64 KiB. Would it be possible to get a wheel with jemalloc configured for this page size, or would that be something I would need to maintain myself? Building from your fork with |
@kszucs Thanks! I've tested this and it works: #10940 (comment) Closing as #10940 is merged. Thanks again. |
I have an issue running Arrow with pyarrow on arm64 - in Docker - and hope to get some advice.
I get the following errors:
The Docker image I’m building is Debian and based on
python:3.8.9-slim-buster
. It's used for Apache Airflow.I’ve tried a nightly pyarrow wheel but it doesn't fix the issue. Neither does installing jemalloc from source.
Installing Arrow and pyarrow from source does fix the issue. Any advice for fixing this issue without installing Arrow and pyarrow from source?
I contacted the mailing list on the 27th of July for this. Thanks!
The text was updated successfully, but these errors were encountered: