/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
I'm compiling gcc 4.6 from source, and apparently
sudo make install
didn't catch this one. I dug around and found
gcc/trunk/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.15
I copied it in to /usr/lib and redirected libstdc++.so.6 to point to the new one, and now everything works.
/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
It seems that your libstdc++.so.6
is too old for your program, You can try to update you libstdc++.so
. In my centos7
, my libstdc++.so.6
is linked to libstdc++.so.6.0.19
libstdc++.so.6 -> libstdc++.so.6.0.19
There are the strings in it
[root]#strings libstdc++.so.6|grep GLIBC
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_3.4.18
GLIBCXX_3.4.19
GLIBC_2.3
GLIBC_2.2.5
GLIBC_2.14
GLIBC_2.4
GLIBC_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH
Maybe you could download a newer version and relink the libstdc++.so.6
, but you should care about are other programs in you system still work well.
Update this lib you should vary careful, It may take new problems, I had replaced the libc.so.6
, then all commands can't work, I used /sbin/sln
fix it. See glibc: elf file OS ABI invalid
Download libstdc++ from pkgs.org, then unpack it.
rpm2cpio libstdc++-4.9.2-1.fc21.x86_64.rpm |cpio -idmv
cp ./usr/lib64/libstdc++.so.6.0.20 /usr/lib64
Maybe you can use LD_PRELOAD=/usr/lib64/libstdc++.so.6.0.20
before you execute your program. Like this
LD_PRELOAD=/usr/lib64/libstdc++.so.6.0.20 ls -hl
Or export LD_LIBRARY_PATH=/usr/lib64/libstdc++.so.6.0.20
, but I'm not certain it will work.
If you relink the libstdc++.so.6
, be careful.
libstdc++.so.6: version `GLIBCXX_3.4.20' not found
Considering that /usr/lib/x86_64-linux-gnu/libproxy.so.1
is supplied by Ubuntu, let's assume that it is compatible with the system libstdc++ library. This means that the application is not actually using that system library, but some other version. I'd suggest to check if the application sets LD_LIBRARY_PATH
and if there is another copy of libstdc++.so.6
on that path. In this case, try moving it away or deleting it—the application should then switch to the system library, which is newer and should be backwards-compatible.
/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found required by TensorFlow
So, i just tested Stretch and it works fine. The issue is related to the OS in this case Debian 8 Jessie , it cannot handle a higher version of glibcxxx than the 3.4.20.
PS : Stretch is Debian 9's distribution name
Related Topics
Recursive Lambda Functions in C++14
How to Use Memcpy in C++ to Copy Classes That Have No Pointers or Virtual Functions
Increment Void Pointer by One Byte? by Two
Different Ways of Initializing an Object in C++
Pack Expansion for Alias Template
What Is Use of the Ref-Qualifier 'Const &&'
Cross-Platform Iteration of Unicode String (Counting Graphemes Using Icu)
Serial Port (Rs -232) Connection in C++
How Much Overhead Is There When Creating a Thread
Check the File-Size Without Opening File in C++
Opencv Grouprectangles - Getting Grouped and Ungrouped Rectangles