-
Notifications
You must be signed in to change notification settings - Fork 89
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
Use base docker image for multiple compiler versions #205
Comments
The problem is what should the base image be? If we choose e.g. Xenial that the glib is probably newer than that of the currently RHEL supported versions (haven't checked it yet) But if we get this sorted out that an unified base image would be wonderful obviously |
We will rebuild the packages in CCI to avoid any problem, also, not all images will be update, it will be from GCC 6. |
so this won't solve conan-io/conan-center-index#213, because all installer images will still be based on xenial, and gcc 4.9 will still be based on trusty. Or am I missing something ? |
that's another case, we need to filter installer packages in CCI and build then using a specific image (old). |
The problem seems to be that packages are first build with GCC 5, meaning that installer packages are ONLY build on GCC 5. The glibc verison of our GCC 5 container is newer as the one in the GCC 4.9 container, so it will fail to use this executables in GCC 4.9 CI builds. If this changes only GCC 6 and newer, then it won't solve the problem within our CI builds as @ericLemanissier pointed out. But such problems don't happen only in our CI builds, it is the same for consumers with Linux distribution versions which use older glibc versions. I have no clue how hard it is to do, but just to throw this idea from my head into the wild: When we already considering building the compilers from source, maybe building a light distribution ourselves with Yocto might be a solution? In (absolute) theory, this could allows us to combine old glic versions with all compiler versions we want? |
Again, this issue is not related to conan-io/conan-center-index#213. Here we want to avoid new glibc version and distro versions. That issue requires a CCI intervention, doesn't matter how we change the docker images here. The CentOS image it would be nice for that case, but first CCI team needs to filter the installer package (probably filtering the settings, options and package content), and running a specific image.
It's possible I think, but it would require extra effort. IHMO keeping only Ubuntu 16.04 is enough for most of cases. |
We have not decided yet what will happen with "installer" packages. But we aim to have the same treatment for everyone, as it is up to the consumer to use it as a build require for cross-building or as a requirement for a library. What we have in mind is to clearly state the environment used to build the packages, explain the glibc issue and the version we are using and encourage users facing this issue to build from sources. |
The compiler and standard library (both C and C++) should be Conan packages themselves. That is the easiest way to manage everything. |
Copying from #252 (comment)
|
@jgsogo said:
Javi, thank you for your thoughts, indeed they are good question about CDT future. Here are my thoughts. Yes, that's possible. Also, @SSE4 made some effort in the past, creating a Conan recipe for GCC. Maybe, we can use it if necessary. The only problem I see building from sources is CI time, last time I tried to build GCC, it took 3h30. Only if we move to Jenkins we could build it, because no free CI service offers such amount of time.
Clang and libc++ or libc++11 are distributed as pre-built on LLVM page, we can download from there.
Actually, looking into Ubuntu packages, not only
I think so, otherwise we are lying. |
|
Description of Problem, Request, or Question
We are running around our tail when trying to release new entire docker image for each new compiler version. This situation is worst when thinking about the multiple glibc versions available and the age of some images (based on its distro and support).
This issue asks for a new approach: A base image which can be reused by any compiler version.
What's the cost? Build most of compiler from sources and increase the CI.
Pros:
What about the old images? Keep then in the repository, but do not keep the support. The new images should have a new name, to avoid any conflict.
closes #204
The text was updated successfully, but these errors were encountered: