-
-
Notifications
You must be signed in to change notification settings - Fork 508
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
Wheel support for linux aarch64 #1125
Comments
Looking at https://github.com/pypa/manylinux it seems that aarch64 is supported in manylinux14. Currently psycopg is built with manylinux1. No problem if you would like to extend the build system to cover aarch64. |
Ping @dvarrazzo I have added aarch64 support for travis build. The build is successful and all the test cases are passing. Below is the link of the travis build: Please review and let me know about the next step. Thanks |
Hello @odidev Please open a branch instead of working on master, so you can create a merge request. You have deleted the tasks for the x86 build: that's ok while you work but of course they will have to be reinstated before merging. Your tests didn't run: see https://travis-ci.org/github/odidev/psycopg2/jobs/705776816 What you have done doesn't create any package: packages are created in the https://github.com/psycopg/psycopg2-wheels repos. I expect that a merge request will be produced there. As you are addressing new packages, you can probably support only from python 3.5 on and avoid unsupported Python versions such as 2.7 and 3.4 |
I have updated the Travis and added arm64 jobs from python versions 3.5 and resolved test issues. Please review changes required for Psycopg2 Report: https://travis-ci.org/github/odidev/psycopg2/builds/707942496 As suggested, I have added arm64 jobs in travis in psycopg2-wheels. Please review changes required for Psycopg2-wheels Report: https://travis-ci.org/github/odidev/psycopg2-wheels/builds/709916473 Can I raise PR or let me know if any more changes required? |
Hello @odidev, thank you for your work so far. I see a few things that can be fixed. If you open a MR (two, one for each repos) it would be easier to comment on them. |
Thanks for the reply. Sure, I will raise PR in 2 repos. |
Closed via #1130 and psycopg/psycopg2-wheels#14. Thank you very much! |
Hi, I am testing the AWS T4g instances for our platform and installing psycopg2-binary still tries to build from source. Collecting psycopg2-binary
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. Cheers |
With what version of pip? And using some --verbose why does pip refuse to install the package available on PyPI? |
I would expect there to a manylinux2014_aarch64 wheel. |
Right. No: the packages for arm is not released yet: see psycopg/psycopg2-wheels#15 |
hi, thanks for the clarification. Any chance of a dot release to update the wheels? The arm based instances on ec2 are looking very good for value and performance, surprised more users aren't hitting this issue. |
psycopg2-binary is not advised for production, so many would have just followed the advice to install psycopg2 from source. I will not able to make a release until at least the end of April as I have to focus on other task. My personal suggestion is that you don't use the -binary package on AWS. |
I saw that you don't recommend binary for production. Can I ask why? Will look at building from source. |
Here are a few of the problems wheel distributions have caused. The main problem was the coexistence of the system libssl (e.g. because using urllib to open an https website) and the wheel-packaged libssl, see especially #543 These problems might have been resolved moving to libssl 1.1, however I have never been able to reproduce the bug myself and so to test if something is really a solution. As such in all conscience I cannot advise to use the wheel in a multithread concurrent production environment. |
I just hit this snag today, on a Raspberry Pi 4 running Ubuntu. I was wondering if this is nearing production status? |
I might have some resource to make a new psycopg2 release towards the end of the new week. |
Sounds awesome 😎 in the meantime, I've started inves igating how to compile it into my image, but that would make our release times longer of course, so would be ecstatic if arm64 support was available. I'll be happy to test it out, in case it's needed with some more tedtcases. I'm using it against Cockroach DB. |
@simcax if you could test the travis setup to build the arm images that would be great. Unfortunately the wheel and travis stack rots pretty quickly and I'm sure surprises will happen. Any help is welcome. |
Sure thing. I just need to figure out where to start, as I haven't been involved previously. |
@simcax Packages are built by the https://github.com/psycopg/psycopg2-wheels/ project, pushing the code to github and letting travis.com to pick it up. I think arm builds are disabled there for the problems that travis.org was having. |
Summary
Installing psycopg2-binary on aarch64 via pip using command "pip3 install psycopg2-binary" tries to build wheel from source code
Problem description
psycopg2-binary don't have wheel for aarch64 on PyPI repository. So, while installing psycopg2-binary via pip on aarch64, pip builds wheel for same resulting in it takes more time to install psycopg2-binary. Making wheel available for aarch64 will benefit aarch64 users by minimizing psycopg2-binary installation time.
Expected Output
Pip should be able to download psycopg2-binary wheel from PyPI repository rather than building it from source code.
@psycopg2-binary-team, please let me know if I can help you building wheel/uploading to PyPI repository. I am curious to make psycopg2-binary wheel available for aarch64. It will be a great opportunity for me to work with you.
The text was updated successfully, but these errors were encountered: