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

[Discussion] How to model GLIBC for installer packages in Conan Center #3963

Closed
danimtb opened this issue Nov 20, 2018 · 9 comments
Closed

Comments

@danimtb
Copy link
Member

danimtb commented Nov 20, 2018

There are some installer packages that need to use an older version of glibc to run in all linux distros.

The issue of the problematic is well described here: bincrafters/community#267

Bincrafters Community have created a package for "glibc_version_header" and it is used to create the binaries of tools such as: nasm_installer, yasm_installer and ninja_installer.

Also take into account that sources for the "glibc_version_header" are coming from a forked version of the original repo as there are some issues with cross-compiling for x86: wheybags/glibc_version_header#14

cc/ @SSE4

@danimtb
Copy link
Member Author

danimtb commented Nov 20, 2018

@SSE4 We have been discussing this issue and the glibc_version_header seems a bit limited and a dependency that we dont want to introduce in Conan Center.

Modelling this in the Conan default settings is something we haven't done historically, is hard to track in the Linux versions (for the default profile) and creates friction in Linux users.

As this is mostly affecting tools of the Bincrafters, What about building this kind of tools in a linux image version old enough to make the binaries compatible for Centos and RedHat 6?

@SSE4
Copy link
Contributor

SSE4 commented Nov 20, 2018

we used to build them previously on CentOS 7, and this worked fine
we probably may try to prepare conan docker images for CentOS 6 or earlier (alternatively, RedHat or Fedora) as well and build using them

@danimtb
Copy link
Member Author

danimtb commented Nov 20, 2018

We should be able to provide something for this in conan-docker-tools. Actually conanio/gcc46 uses ubuntu 12.04 from 2012 which I think should be good enough for this purpose.

WDYT? Could we try this approach without the build requirement of glibc_version_header?

@danimtb danimtb removed their assignment Nov 20, 2018
@SSE4
Copy link
Contributor

SSE4 commented Nov 20, 2018

I need to check glibc versions, I'll let you know

@SSE4
Copy link
Contributor

SSE4 commented Nov 20, 2018

few questions I have for you:

  • what do you mean by "seems a bit limited"? what kind of limitation do you mention?
  • also, why don't you want to introduce dependency in Conan Centre?

@SSE4
Copy link
Contributor

SSE4 commented Nov 20, 2018

CentOS 6:

[root@dd784d9a2f77 /]# ldd --version
ldd (GNU libc) 2.12

Ubuntu 12.04:

root@c959e5380acd:/# ldd --version
ldd (Ubuntu EGLIBC 2.15-0ubuntu10.18) 2.15

seems like it doesn't fit, we need either older Ubuntu, or CentOS 6, I suppose

@danimtb
Copy link
Member Author

danimtb commented Nov 20, 2018

what do you mean by "seems a bit limited"? what kind of limitation do you mention?

Basically we are worried about this limitations and that the way this headers works is almost a trick. Also there are pending issues from PRs and the package is actually relying in your fork.

why don't you want to introduce dependency in Conan Centre?

All the libraries built currently in Conan Center use the same version of glibc. The case of the tools like ninja or nasm relying on a different glibc version is because you want the tools to run in older distros and would be the same problem you would find using "plain" libraries (not tools). We dont want to model the glibc version as this is something depending or your system and having different solution for the same problem is confuting for users and difficult to handle.

seems like it doesn't fit, we need either older Ubuntu, or CentOS 6, I suppose

Ok, let's find an image to use it for this case cc/ @uilianries

@SSE4
Copy link
Contributor

SSE4 commented Jan 7, 2019

@danimtb I think this one now can be closed, as we have required images and installers (yasm, nasm, ninja) are in conan centre already

@danimtb
Copy link
Member Author

danimtb commented Jan 9, 2019

Thanks for the reminder @SSE4.

For the record: "Installer" packages (build tools) are built in CentOS 6 images to avoid inconsistencies with GLIBC when running in other distributions. Implementation can be found here conan-io/conan-docker-tools#82

@danimtb danimtb closed this as completed Jan 9, 2019
@ghost ghost removed the stage: queue label Jan 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants