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

manylinux2014 images #348

Merged
merged 1 commit into from
Nov 10, 2019
Merged

manylinux2014 images #348

merged 1 commit into from
Nov 10, 2019

Conversation

mayeut
Copy link
Member

@mayeut mayeut commented Sep 22, 2019

1st attempt at a manylinux2014 image
main differences with the 2010 image:

  • drop python 2.7 (EOL in january 2020) & 3.4 (already EOL)
  • use system provided openssl for python build
  • cmake is not installed anymore (one can use pip install cmake)
  • add aarch64 support
  • i686 uses default gcc 4.8.5 & misses yasm

c.f. #338

Please do comment

@hrw
Copy link
Contributor

hrw commented Sep 30, 2019

Can 'make' be called with multiple jobs? Would make build faster.

@hrw
Copy link
Contributor

hrw commented Sep 30, 2019

Build on aarch64 fails:

+ for PYTHON in '/opt/python/*/bin/python'
+ /opt/python/cp35-cp35m/bin/python build_scripts/manylinux-check.py
/opt/python/cp35-cp35m/bin/python is NOT manylinux2010 compatible
The command '/bin/sh -c bash build_scripts/build.sh && rm -r build_scripts' returned a non-zero code: 1

Sure, it is manylinux2010 not compatible but only because this architecture did not existed at that time.

docker/build_scripts/build.sh Outdated Show resolved Hide resolved
@hrw
Copy link
Contributor

hrw commented Oct 3, 2019

So, how it will be processed? I am waiting for it to happen and then will discuss with several projects to get them to publish wheel files for AArch64 architecture.

It will allow me to cut build times from 45 minutes to seconds...

@mayeut mayeut force-pushed the manylinux2014-pr branch 3 times, most recently from 2e6fff6 to 79955a0 Compare October 6, 2019 12:54
@hrw
Copy link
Contributor

hrw commented Oct 7, 2019

Travis CI got aarch64 support. There will be more projects ready to use manylinux2014 image once it get published.

@auvipy
Copy link
Contributor

auvipy commented Oct 8, 2019

is it still WIP?

@mayeut
Copy link
Member Author

mayeut commented Oct 8, 2019

@auvipy, yes still a work in progress. Needs at least an auditwheel update (not 2.1.1), README update

@mayeut mayeut force-pushed the manylinux2014-pr branch 2 times, most recently from 9fb92f6 to 8049f83 Compare October 12, 2019 09:26
@zhaofeng-shu33
Copy link

@auvipy, yes still a work in progress. Needs at least an auditwheel update (not 2.1.1), README update

Can I use this docker image to upload wheel tagged with 2014 to pypi.org ?

@mayeut mayeut force-pushed the manylinux2014-pr branch 2 times, most recently from dcdee0f to 671e936 Compare October 16, 2019 22:09
@veblush
Copy link
Contributor

veblush commented Oct 18, 2019

If possible, how about adding i686 to manylinux2014 docker images? It's one of architectures listed in manylinux2014 policy and there is a base CentOS 7 docker image.

@mayeut
Copy link
Member Author

mayeut commented Oct 18, 2019

@veblush, I can't get a recent toolchain on i686, the one you found doesn't exist for centos 7. RHEL provides this for RHEL7 but not centos.
For now, an i686 image would use gcc 4.8.5 (or else someone has to figure out a way to rebuild/store devtoolset-8 from SRPM in a reliable/trusted way).
I've rebuilt devtoolset-8 for centos6-i686 using copr (might do a PR with that) but they do not provide an el7-i686 chroot to do the same for centos7. We could do an image with cross-compilation but https://bugs.centos.org/view.php?id=16181 prevents this.

@mayeut mayeut force-pushed the manylinux2014-pr branch 2 times, most recently from 2079382 to 3d430c5 Compare October 19, 2019 10:44
@hrw
Copy link
Contributor

hrw commented Oct 20, 2019

Is there any todo list before it will be considered done?

@veblush
Copy link
Contributor

veblush commented Oct 21, 2019

@mayeut Thank you for the detailed background! Sorry to know i686 doesn't get enough attention from Redhat and community.

@hrw
Copy link
Contributor

hrw commented Oct 21, 2019

@veblush Red Hat decided to stop supporting i686 when RHEL7 development started. There is no new server class hardware with this architecture and users of "legacy" ones were supported with RHEL6.

There is minimal support for i686 just to keep 32-bit applications running on 64-bit hardware.

In CentOS 7 32-bit x86 is supported as one of "alternative" architectures - check http://mirror.centos.org/altarch/7/ for what is provided. And even there is looks like abandoned architecture.

Copy link
Contributor

@hrw hrw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

23:24 - will look at problem tomorrow

docker/build_scripts/build.sh Outdated Show resolved Hide resolved
Copy link
Contributor

@hrw hrw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one more

docker/build_scripts/build.sh Outdated Show resolved Hide resolved
@mayeut mayeut force-pushed the manylinux2014-pr branch 2 times, most recently from f26511d to 87a2c5a Compare October 25, 2019 00:03
@mayeut
Copy link
Member Author

mayeut commented Oct 25, 2019

@hrw, thanks for all your reviews. While the build passes locally, there's an issue with travis-ci (seems docker related) that I can't explain so I'm going to try a few things...

@hrw
Copy link
Contributor

hrw commented Oct 25, 2019

@hrw, thanks for all your reviews.

I work on aarch64 for 7+ years now so I am trying to help wherever I can.

While the build passes locally, there's an issue with travis-ci (seems docker related) that I can't explain so I'm going to try a few things...

No idea why it fails.

@mayeut
Copy link
Member Author

mayeut commented Oct 25, 2019

Seems to be an issue on travis-ci side: https://travis-ci.community/t/docker-container-download-fails/5674

@mayeut mayeut force-pushed the manylinux2014-pr branch 2 times, most recently from 87a2c5a to 08e534d Compare October 29, 2019 20:39
@di
Copy link
Member

di commented Nov 5, 2019

@mayeut Thanks for all your work here. It looks like the Travis issues are resolved, and that this is blocked on a 3.0.0 release of auditwheel (pypa/auditwheel#205), correct?

@mayeut
Copy link
Member Author

mayeut commented Nov 5, 2019

Correct. There's still one PR opened in auditwheel that needs review and be merged.

@hrw
Copy link
Contributor

hrw commented Nov 6, 2019

And then will be time to go through all python projects and asking them to make more wheels.

@mayeut mayeut changed the title WIP - manylinux2014 manylinux2014 images Nov 8, 2019
README.rst Show resolved Hide resolved
@mayeut mayeut changed the base branch from master to manylinux2014 November 10, 2019 16:59
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.

6 participants