Skip to content
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

Python bindings build fix for aarch64 (and others) #3663

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

kaoh
Copy link

@kaoh kaoh commented Jun 19, 2021

I tried to compile deepspeech on a Raspberry Pi running Ubuntu 20.04. The created wheel after building the Python bindings used an incorrect naming: manylinux1_x86_64.whl although it should be linux_aarch64.whl

@lissyx
Copy link
Collaborator

lissyx commented Jun 21, 2021

I tried to compile deepspeech on a Raspberry Pi running Ubuntu 20.04. The created wheel after building the Python bindings used an incorrect naming: manylinux1_x86_64.whl although it should be linux_aarch64.whl

We only support building those arch via cross-compilation. Your fix is for the binding only?

@kaoh
Copy link
Author

kaoh commented Jun 24, 2021

The fix is for the binding only, yes. But I could successfully compile deepspeech on a Rasp Pi 4 running Ubuntu 20.04 in about 3 hours without problems. It seems to be supported. Do you need the command line how to built it? I also built the tflite version. I also see no other way of doing it because no Python wheels are supported for aarch64.

@lissyx
Copy link
Collaborator

lissyx commented Jun 25, 2021

no Python wheels are supported for aarch64.

We provide them on the github release page, I don't get your point.

@kaoh
Copy link
Author

kaoh commented Jun 25, 2021

Looking at the release page I cannot find supported wheels for Python 3.8 and Python 3.9. Can you please provide the link?

@lissyx
Copy link
Collaborator

lissyx commented Jun 25, 2021

Looking at the release page I cannot find supported wheels for Python 3.8 and Python 3.9. Can you please provide the link?

We only support Python as the one provided by Raspbian / ARMBian, so 3.7.

@kaoh
Copy link
Author

kaoh commented Jun 25, 2021

Ok, with my fix then the full built chain would be supported for Python 3.8+ for Ubuntu based devices. I do not think that only supporting Raspbian / ARMBian with Python 3.7 is matching the majority of users for the Raspberry Pi 4.

@lissyx
Copy link
Collaborator

lissyx commented Jun 25, 2021

Ok, with my fix then the full built chain would be supported for Python 3.8+ for Ubuntu based devices. I do not think that only supporting Raspbian / ARMBian with Python 3.7 is matching the majority of users for the Raspberry Pi 4.

And yet that's their distro. The problem is that your fix will make it work but we have no test coverage for building on this hardware, since we only support cross-compilation.

@kaoh
Copy link
Author

kaoh commented Jun 25, 2021

Well, then I will document the patch at least here or somewhere else if embedded arm devices on recent Python versions are not in the current scope of the Deepspeech project so that other programmers can still use it. If it will not be merged, this can be closed.

@lissyx
Copy link
Collaborator

lissyx commented Jun 25, 2021

Well, then I will document the patch at least here or somewhere else if embedded arm devices on recent Python versions are not in the current scope of the Deepspeech project so that other programmers can still use it. If it will not be merged, this can be closed.

If you are willing to support other versions, you should try and add testing for it with cross-compilation being supported ; we did the move to GitHub Actions explicitely to ease contributions.

@xloem
Copy link

xloem commented Jul 25, 2021

Mozilla, it sounds like communicating around this has been difficult. It would be great if it were supported to build on arm machines. Many people run systems that are aarch64 or armv7l.

I see the importance of adding tests. Could any familiar with the testing system give a quick outline of what is needed to add tests for building on arm? Has anybody started this work?

@lissyx
Copy link
Collaborator

lissyx commented Jul 28, 2021

Mozilla, it sounds like communicating around this has been difficult. It would be great if it were supported to build on arm machines. Many people run systems that are aarch64 or armv7l.

It is supported: cross-compilation

I see the importance of adding tests. Could any familiar with the testing system give a quick outline of what is needed to add tests for building on arm? Has anybody started this work?

Please look at the GitHub Actions folder and #3317

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants