-
-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
New CentOS5/manylinux based Docker image #97
Conversation
The Dockerfile and other files needed to create this image can be found in the jjhelmus/conda-forge-docker-image repository. I'm happy to move this repo over to the conda-forge organization. |
I've also tested this Docker image by building the arm_pyart recipes. I'm guessing if the image looks good then next step would be to submit a PR against conda-smithy and then re-render the feedstocks. |
👍 |
If it's OK, I'd like to work towards using a docker image that Continuum is working on. We are going to be standardizing internally on this docker image very soon, and keeping conda-forge on the same platform will be very important for assuring compatibility going forward. This work is at anaconda/docker-images#20 I will be reworking it (slightly) to follow manylinux more completely, with their compiler flags where appropriate and with their auditwheel tool. The main differences between this image and manylinux are:
I'll do my best to keep the important parts of manylinux - notably the nicer script approach to docker setup, compared to my concatenated string approach. @jjhelmus if you're amenable to this approach, I'd welcome your feedback/guidance. |
For purposes of discussion, I humbly submit jjhelmus/conda-forge-docker-image#1 - a tweak of this PR that uses the aforementioned Continuum build image. |
@msarahan and I will work out the details in the jjhelmus/conda-forge-docker-image repo and will get back once we have a solution. We could change the image to the manylinux based on for the time being, although it will need replacing sometime in the future. Depend if we want to fix the matplotlib issue fast or wait for a more complete solution later. |
@jjhelmus - at one point, I'd separated the linux build to do testing in a separate docker image. That meant I could have all the build tools I wanted in the build image, but still only the limited subset in the test image. Is that something we should be re-visiting? |
Having a base docker image which can be used for testing upon which the "build" docker image is built should be possible. Can one of the conda-forge members (@ocefpaf, @pelson?) with sufficient permissions make a docker-images repository under the conda-forge organization where these details can be hashed out and the Dockerfile and supporting files hosted? |
I am not it. But I also vote to give you adim rights too. What do you think @pelson? |
Works for me, thanks @ocefpaf |
I'm of the opinion that this PR should be merged so that the CentOS 5 docker image with the various shared libraries gets into any new pull requests. I'll also submit a PR to add the image to conda-smithy so it gets changed in the new feedstocks. Eventually this docker image should be replaced with the one @msarahan and I are working on with all the details worked out but until then I think this is a good holdover. Packages build with the current image (pelson/obvious-ci:latest_x64) are linked to the new CentOS 6 glibc and will not work with CentOS 5 and will need to be re-built, see discussion #119. Making the switch now will at least reduce the number of packages which need to be rebuilt. |
+1 |
conda-forge/conda-smithy#73 will change the feedstocks |
I'm 👍 on the change, but think that for full reproducibility the Dockerfile should be merged into the repo (fine to do that directly) and the build should come from hub.docker's build system (as per https://hub.docker.com/r/pelson/obvious-ci/~/dockerfile/). Thanks for doing this @jjhelmus - I think this is an excellent step forwards! 👍 |
I had not yet played around with docker hub's build system, thanks for pointing it out. I will have to try it out. |
Yeah, I have a bit of experience with Docker Hub's build system so can help out. I like the idea of having an automated build and having it in a repo somewhere. Though I think it would be nice to keep the Docker images separate. The repo @ocefpaf created seems like a good place. ( https://github.com/conda-forge/docker-images ) |
Is this needed to get C++11 support? |
This is one of many proposals. Two other proposals and the bulk of the discussion is happening on this issue ( conda-forge/conda-forge.github.io#29 ). |
I think the minimum spec for C++11 is GCC 4.8, but @jakirkham is right, this is unsettled. |
Weird. Sometimes ZenHub does whatever it wants with these pipelines lately. |
Sorry for that. Yeah, there are two main parameters being discussed. OS version (as a proxy to GLIBC version) and compiler version. There are other related things, but the rest gets pretty technical. Depends how deep you want to wade into it. |
I see, but conda-forge/conda-forge.github.io#29 hasn't been touched in 7 days. Is there are consensus forming on what has to happen? |
Not really. Though I'm going to bring it up at our next meeting. Just to note, we still have some way to do this now. It is just not as pretty as it could be. |
So what is the way to do it for now? I'd like to be able to get #390 working so that I can move forward with conda-forge as part of the release process for cyclus. As the maintainer of these C++11 packages, I'd be happy to update them later when there is a better way to do things. |
Right, I added some notes over there about how to get that to work. Basically, using |
Cool, where did you add the notes to @jakirkham? I don't see them on the hackpad or in the readme. |
That would be a good idea. Definitely on my checklist. Right now just in a comment. |
Oh, I see, thanks! Sorry for the noise. |
No worries. |
closing in favor of #514 |
Thanks @jjhelmus. I think we just need to pick a name ( conda-forge/docker-images#8 ) and we should be good. |
New Docker image based upon CentOS 5.11 and the manylinux image for building conda packages for linux-64.