[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:
> ```
> [sclo]
> name=SCLO
> baseurl=http://mirror.centos.org/centos/6/sclo/x86_64/rh/
> gpgcheck=0
> enabled=1
> ```
> 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.
>> -Brian
> --
>          此致
>> 罗勇刚
> Yours
>     sincerely,
> Yonggang Luo

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160628/b8a0ffd7/attachment.html>

More information about the llvm-dev mailing list