新版编译器编译内核 version `GLIBCXX_3.4.9' not found

编译内核出现以下错误:

[root@localhost linux-2.6.32.2]# make zImage
  CHK     include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
  CHK     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-arm
  CC      kernel/bounds.s
/opt/FriendlyARM/toolschain/4.4.3/libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /opt/FriendlyARM/toolschain/4.4.3/lib/libppl_c.so.2)
/opt/FriendlyARM/toolschain/4.4.3/libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /opt/FriendlyARM/toolschain/4.4.3/lib/libppl.so.7)
make[1]: *** [kernel/bounds.s] Error 1
make: *** [prepare0] Error 2

解决办法:

ls /usr/lib/libstdc++.so.6 -l
lrwxrwxrwx 1 root root 18 Mar 29 09:03 /usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.8

libstdc++.so.6.0.这个库里面没有GLIBCXX_3.4.9下载新的库libstdc++.so.6.0.10

一般情况下可以去新版本的redhat enterprise 6.3里面/usr/lib/找到libstdc++.so.6.0.13 文件

下载后请先验证

strings /tmp/libstdc++.so.6|grep GLIBCXX

看是否有GLIBCXX_3.4.10如果没有则表示不是你要找的文件

rm libstdc++.so.6

mv /libstdc++.so.6.0.13 ./

ln -s /usr/lib/libstdc++.so.6.0.13 /usr/lib/libstdc++.so.6

但事实上不知道为啥libstdc++.so.6.0.13 不可以libstdc++.so.6.0.10就可以,不知道原因

需要libstdc++.so.6.0.10文件的可以到http://down.51cto.com/data/186826下载或者给我邮箱

原文地址:https://www.cnblogs.com/xmphoenix/p/2582328.html