-
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
Install libc++-11 with clang-11 #252
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your contribution!
Unfortunately we can't accept this change. Updating libstdc++ or libstdc++11 will break official packages in Conan Center. If you really need a newer version, we can do it locally.
We will provide new Docker images soon, including newer libc version. Thus, your hotfix is still a valid idea, but it will be included for other Docker images.
Looking conan-io/conan-center-index#4630, it seems like no clang-11 package has been generated yet. Thus, it's possible to accept your PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, it fixes conan-io/conan-center-index#4630
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to understand the implications. If we upgrade this library to version libc++11
, then the binaries compiled using this new version can run with the old one? Does every consumer need to upgrade to libc++11
in order to run the binaries compiled with it?
That would be a blocker, as libc++
will be the default for many users.
I think there is a misunderstanding. clang-11 should come with libcxx-11. But this lib and its ABI must be installed separately as it's noticed in official clang page here (see 'To install all key packages' / '# Clang and co'. If you just install libcxx through By the way, this official LLVM link explains that "Libc++ aims to preserve stable ABI to avoid subtle bugs when code built to the old ABI is linked with the code build to the new ABI". So it should not be a problem to correct this, but, I agree with you, it can not be sure. Finally, this Dockerfile is not consistent with the one for clang-10 (which is good). You'll see on these lines that libcxx-10-dev is installed (not libcxx-dev). I'm sorry, but there is clearly a problem with this clang-11 installation. I don't know the right way to correct this, but it must be corrected. From your side, is it possible to rebuild all clang-11/libcxx in conan-center recipes to avoid side effects? |
We will be using the same docker image for all the compilers (we are proposing Ubuntu 16.04) to ensure all the binaries have the same and a lower enough The issue would be, for example, if we build some tool using clang-11 (with |
I didn't find any clear information about libc++ backward compatibility, but Marshall Clow (libc++ owner) answered that it should work. |
I've run a little test: I build ImaGL and its test program with clang-11, libc++-11. I ran it on a fresh Ubuntu 16.04 with default libc++ (v3.7) without any problem. |
There are several questions that came to me related to this issue and they will help us a lot with other ongoing efforts as well.
|
I would to continue this discussion about unifying or not at #205, which is the appropriated issue. This PR is related to clang fix. |
I think I did some fundamental failure above. The runtime packages are So, this is not about installing The question, for this issue, is just: are there Sorry for the misunderstanding. |
Short answer: yes Long answer: yes, following these instructions from a docker ubuntu:xenial image: apt-get update
apt-get install -y wget software-properties-common apt-transport-https
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
add-apt-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main"
apt-get update
apt-get install -y libc++1-11 libc++abi1-11 By the way, libc++1-12 and libc++abi1-12 from clang-12 are also installable with this script. |
Please, have a look to this approach: #267 |
This can now be closed |
Changelog: Fix: This is to install libc++-11 instead of default one (6 or 7, very old)
fixes #251