Skip to content
This repository was archived by the owner on Apr 16, 2021. It is now read-only.

Wheel support for linux aarch64 #11

Closed
odidev opened this issue Jul 13, 2020 · 6 comments
Closed

Wheel support for linux aarch64 #11

odidev opened this issue Jul 13, 2020 · 6 comments

Comments

@odidev
Copy link
Contributor

odidev commented Jul 13, 2020

Summary
Installing matplotlib on aarch64 via pip using command "pip3 install matplotlib" tries to build wheel from source code

Problem description
matplotlib don't have wheel for aarch64 on PyPI repository. So, while installing matplotlib via pip on aarch64, pip builds wheel for same resulting in it takes more time to install matplotlib. Making wheel available for aarch64 will benefit aarch64 users by minimizing matplotlib installation time.

Expected Output
Pip should be able to download matplotlib wheel from PyPI repository rather than building it from source code.

@matplotlib-team, please let me know if I can help you building wheel/uploading to PyPI repository. I am curious to make matplotlib wheel available for aarch64. It will be a great opportunity for me to work with you.

@mattip
Copy link

mattip commented Jul 13, 2020

It should be as simple as adding this stanza to the .travis.yml file, if tests pass. Perhaps the matplotlib team would prefer to verify that tests pass, then the place to start would be adding a arm64 build like this one to the regular matplotlib/matplotlib repo, but see matplotlib/matplotlib#16879 where pandas is a dependency for matplotlib testing, so a wheel for pandas would be nice too.

@tacaswell
Copy link
Contributor

@odidev This is the repository we use to build the mac/linux wheels on travis which are then uploaded to pypi.

A PR configuring travis to also run on arm64 is the next step that is needed.

@odidev
Copy link
Contributor Author

odidev commented Jul 20, 2020

Hi @tacaswell & @mattip ,
Thanks For the quick response.
I've tried adding arm64 jobs for Travis-CI. Issues and their workarounds are explained below:

  1. Pandas and pyzmq wheels are not available in PyPI and some tests are failing when we are skipping these packages. So, used conda to install these packages
  2. Pikepdf is not getting installed on aarch64 platform, and giving following error
    ERROR: Could not build wheels for pikepdf which use PEP 517 and cannot be installed directly.
    If I am running the tests without "pikepdf", it skips 5 test cases.
  3. Pyqt5 and pyside2 aarch64 wheels are not available in PyPI and not available in conda. So, these packages needs to be build from source, which takes time. Skipping installation of these packages results in 3 cases being skipped.

Conclusion: With above changes, i'm able to run all the tests(except above mentioned tests, which are getting skipped) for each environment. please find the link for Travis-CI:
https://travis-ci.com/github/odidev/matplotlib/builds/176506759

@QuLogic
Copy link
Contributor

QuLogic commented Jul 20, 2020

We build aarch64 on Fedora, so I'm reasonably certain most should work even if some tests are skipped. At least pikepdf is not really an arch-dependent test. PyQt5 is tested on Fedora, but not PySide2. I'm not as confident about pandas and pyzmq, but what Matplotlib uses them for is probably not arch-dependent?

@mattip
Copy link

mattip commented Jul 25, 2020

I think #12 closed this

@odidev
Copy link
Contributor Author

odidev commented Jul 25, 2020

Thanks!

@odidev odidev closed this as completed Jul 25, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants