-
Notifications
You must be signed in to change notification settings - Fork 19
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
Conform builds to manylinux2014 glibc standards #14
Conversation
@yifeikong can you please help rerun the CI jobs? |
Why does the CI job need my approval to run? shouldn't this be automatic? 😂 |
I think it's a repo setting to require approval from new contributors, not sure why it's set to requires approval by default here (maybe because the upstream had it set?) |
fyi, the MacOS build seems to be non-deterministically flaky on nghttpd tests, though I don't think it's related to my changes. I'd like to check out what the underlying error is though and see if it can be made more reliable |
I see all the checks have passed, is it ready to be merged? |
Yes, I think it's ready. I can look into Mac test flakiness separately |
Yes, I think the original author already tried to mitigate this issue, it's much better, but not fully resolved. |
This reverts commit d4d6c3d.
Restructures the Linux build to do the compiling inside Centos 7 Docker containers published by the manylinux team for x86_64 and aarch64, and a container maintained by myself for armv7l. This ensures that the resulting binaries target glibc 2.17, which is required by manylinux2014.
I was unable to get cross compilation working, since devtoolset-10 does not appear to provide cross compilers. Using the system cross compiler, which is gcc 4.8.5, is unable to properly build some of the dependencies. Thus, QEMU emulation is used to build "native" aarch64 and armv7l binaries. A full cache-less build takes roughly two hours.
Other changes:
Needed for lexiforest/curl_cffi#186