[llvm-dev] The clang for centos6 are need GLIBC_2.14, but we only have GLIB 2.12 by default.
Brian Cain via llvm-dev
llvm-dev at lists.llvm.org
Tue Jun 28 11:26:59 PDT 2016
Sorry if I was unclear, I have no problems building clang against a newer
gcc for my own purpose. But it doesn't make sense to provide a release
binary for clang that's hosted on llvm.org that's ostensibly for "centos6"
when it would really be bound to "centos6 plus the SCLO mirror which has
the dependency for a newer libstdc++".
The glibc 2.14 dependency is a result of the binary being built on a
platform new enough to have libstdc++4.7 or newer. You could eliminate it
if you could find a CentOS release that has libstdc++4.7 and glibc2.12. But
ultimately you're still stuck with a runtime dependency on libstdc++ shared
objects that expect newer GLIBCXX_* symbols.
The newer gcc release is only needed at build-time. Its byproduct/side
effect of bringing with it a newer libstdc++ is what creates a runtime
It's my position that a CentOS 6.0-6.x release binary for clang newer than
3.4.2 is not possible unless CentOS team backports libstdc++4.7 release to
that CentOS release. I'd be happy to learn I'm wrong about that claim BTW.
On Tue, Jun 28, 2016 at 1:13 PM, 罗勇刚(Yonggang Luo) <luoyonggang at gmail.com>
> Hell, Brian, I found a way to install Gcc 5.3 on CentOS 6 without the need
> to building it from source. You may try it on CentOS 6.0
> That's makes clang/llvm won't depends on the newer version of glibc 2.14
> The instruction:
> vim /etc/yum.repos.d/llvm.repo
> The content:
> Installation step:
> yum clean all
> yum list
> echo y | yum install devtoolset-4
> On Wed, Jun 29, 2016 at 1:15 AM, Brian Cain <brian.cain at gmail.com> wrote:
>> On Tue, Jun 28, 2016 at 11:50 AM, 罗勇刚(Yonggang Luo) <
>> luoyonggang at gmail.com> wrote:
>>> So CentOS before 6.7 is not an option after all?
>>> Is that possible to use clang on CentOS 6.6 and before?
>> Not with these binaries, unless you can update your libc/libstdc++. In
>> the general sense -- yes, it's possible if you build from source. There's
>> a couple of potential approaches: build against libc++, build against newer
>> libstdc++. If you're more adventurous you could also try building with
>> ellcc. That one requires patches but will yield a statically linked binary.
>> I built clang trunk/tip a few weeks ago on CentOS 6.0. But I first built
>> the gcc6 suite, then used it to build clang. I believe clang 3.4.2 is the
>> latest version that supports the older libstdc++. I ran into challenges
>> with using clang so I stuck with gcc6. The resulting binaries depend on
>> the gcc6 libraries so I can't really use this procedure to make a new
>> official release for centos. If it's helpful I can publish the steps I
>> used, but really just followed the build instructions.
> Yonggang Luo
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev