Hi Guys,
I'm running RHEL6 and Centos 6 and I get the following error
/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
on one of the programs I need to run on the system. I'm currently at gcc version 4.7.0. When i do the following command "strings /usr/lib/libstdc++.so.6 | grep GLIBCXX"
I get: so it looks like 3.4.15 is there. Any ideas on how I can correct this issue?
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
-
- Retired Moderator
- Posts: 18276
- Joined: 2006/12/13 20:15:34
- Location: Tidewater, Virginia, North America
- Contact:
/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
[code]# rpm -q gcc
gcc-4.4.6-4.el6.x86_64
# strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
# rpm -qf /usr/lib/libstdc++.so.6
libstdc++-4.4.6-4.el6.i686
# rpm -q centos-release
centos-release-6-3.el6.centos.9.x86_64[/code]
[url=http://wiki.centos.org/FAQ/General#head-472ce8446ebcfc82ca1800f775ba0e629ac835c7]FAQ#20. Where can I get the latest version of XyZ.rpm for CentOS? I cannot find it anywhere.[/url]
If you break it you get to keep all the pieces.
gcc-4.4.6-4.el6.x86_64
# strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
# rpm -qf /usr/lib/libstdc++.so.6
libstdc++-4.4.6-4.el6.i686
# rpm -q centos-release
centos-release-6-3.el6.centos.9.x86_64[/code]
[url=http://wiki.centos.org/FAQ/General#head-472ce8446ebcfc82ca1800f775ba0e629ac835c7]FAQ#20. Where can I get the latest version of XyZ.rpm for CentOS? I cannot find it anywhere.[/url]
If you break it you get to keep all the pieces.
Re: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
i never found 3.4.15 on my CentOS6.4 machine, is it possible it is only on your actual redhat machine?
$ rpm -q centos-release
centos-release-6-4.el6.centos.10.x86_64
$ rpm -qf /usr/lib/libstdc++.so.6.0.13
libstdc++-4.4.7-3.el6.i686
$ yum --enablerepo=\* --disablerepo=Dropbox --disablerepo=c6-media search all compat-libstdc++
===================== Matched: compat-libstdc++ ==========
compat-libstdc++-296.i686 : Compatibility 2.96-RH standard C++ libraries
compat-libstdc++-33.i686 : Compatibility standard C++ libraries
compat-libstdc++-33.x86_64 : Compatibility standard C++ libraries
$ strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX_3.4.1
GLIBCXX_3.4.1
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
No GLIBCXX_3.4.15
Is there someplace else to get 3.4.15 since it seems upstream is not supplying it? Is it in some testing repo?
Does yum search all result in a compat-libstdc++34 for you on some machine?
$ rpm -q centos-release
centos-release-6-4.el6.centos.10.x86_64
$ rpm -qf /usr/lib/libstdc++.so.6.0.13
libstdc++-4.4.7-3.el6.i686
$ yum --enablerepo=\* --disablerepo=Dropbox --disablerepo=c6-media search all compat-libstdc++
===================== Matched: compat-libstdc++ ==========
compat-libstdc++-296.i686 : Compatibility 2.96-RH standard C++ libraries
compat-libstdc++-33.i686 : Compatibility standard C++ libraries
compat-libstdc++-33.x86_64 : Compatibility standard C++ libraries
$ strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX_3.4.1
GLIBCXX_3.4.1
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
No GLIBCXX_3.4.15
Is there someplace else to get 3.4.15 since it seems upstream is not supplying it? Is it in some testing repo?
Does yum search all result in a compat-libstdc++34 for you on some machine?
Re: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
You are chasing this from the wrong end. The problem is that the program you are trying to run is compiled and linked against the wrong copy of the C runtime. The C runtime on CentOS is exactly how it should be and does not support that level of code. The solution is not to change glibc (which effectively means throwing away your entire operating system and rebuilding it) but to use a version of the application that is actually built to run on your o/s. If there is an SRPM for the package you are trying to run then rebuilding that on CentOS 6 will produce a version that will work.
Re: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
[quote]tbalz wrote:
I'm currently at gcc version 4.7.0.[/quote]
That is interesting, because CentOS 6 (and RHEL 6) have gcc 4.4.7, and the optional devtoolset-1.1 provides gcc 4.7.2. Furthermore, your error message mentions "/lib/libstdc++.so.6", but you do check "/usr/lib/libstdc++.so.6" for strings. A 32-bit environment with custom binaries in odd places?
I'm currently at gcc version 4.7.0.[/quote]
That is interesting, because CentOS 6 (and RHEL 6) have gcc 4.4.7, and the optional devtoolset-1.1 provides gcc 4.7.2. Furthermore, your error message mentions "/lib/libstdc++.so.6", but you do check "/usr/lib/libstdc++.so.6" for strings. A 32-bit environment with custom binaries in odd places?
Re: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
That's how the scripts available from http://chrome.richardlloyd.org.uk/ do it, too... as I recall, his scripts grab the libstdc++ files from the fedora 15 repos to enable installing/updating Chrome 28 and higher from Google's repos into CentOS 6.x, and relocates them to /opt/google/chrome/lib soA 32-bit environment with custom binaries in odd places?
$ strings /usr/lib64/libstdc++.so.6 | grep GLIBC
still returns the 'stock'
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBC_2.2.5
GLIBC_2.3
GLIBC_2.4
GLIBC_2.3.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
messages, but if you change that to
$ strings /opt/google/chrome/lib/libstdc++.so.6 | grep GLIBC
then you get the extra/newer versions showing up like in the message from tbalz...
Even though that segregates the newer libs from the 'stock' libs, at least one guy on the centos@centos.org mailing list declared the script's author a criminal.
Re: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
My advice is to carefully handle this library, or not handle it at all, as it may lead to full OS failure. I followed some hints on other forums and I had to reinstall my OS 2 times in a row because of handling with gcc libs, so my advice is not to touch it. If some .rpm that you are trying to install gives you this error, most likely is that is not supported by your Linux version, and I found this out the hard way by trying to install KingSoft Office and Grive on my CentOS 6.5 Linux. Anyway, you can try to follow this tip that I found in other forum that I did not test yet, but seems a good tip:
"Just add symlink to the libc.so.6 file as following:
sudo ln -s /lib/i386-linux-gnu/libc.so.6 /lib/libc.so.6
The same goes for other missing files still on the system, in my case Matlab was missing the file, the problem is gone now."
Adding a link is not very intrusive and should work. Give a try and share the results pls
Farewell.
"Just add symlink to the libc.so.6 file as following:
sudo ln -s /lib/i386-linux-gnu/libc.so.6 /lib/libc.so.6
The same goes for other missing files still on the system, in my case Matlab was missing the file, the problem is gone now."
Adding a link is not very intrusive and should work. Give a try and share the results pls
Farewell.