红联Linux门户
Linux帮助

RHEL 5安装arm-linux-gcc-4.4.3.tar.gz后报错解决办法

发布时间:2014-12-23 22:09:21来源:linux网站作者:robinfit01

RHEL 5安装arm-linux-gcc-4.4.3.tar.gz后,编译报/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found 错,解决办法!

问题:RHEL 5安装arm-linux-gcc-4.4.3.tar.gz后,make不能通过,报如下错误:
“/usr/local/arm/4.4.3/bin/../libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/local/arm/4.4.3/lib/libppl_c.so.2)
/usr/local/arm/4.4.3/bin/../libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/local/arm/4.4.3/lib/libppl.so.7)
make[1]: *** [hello_world.o] Error 1
make[1]: Leaving directory `/home/u-boot-2009.08-21/examples/standalone'
make: *** [examples/standalone] Error 2”


解决办法:
# 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_FORCE_NEW
您会发现正是缺少:GLIBCXX_3.4.9版本。

# ll /usr/lib/libstdc++.so.6
lrwxrwxrwx 1 root root 18 Jul  3  2010 /usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.8
其实这里需要将libstdc++.so.6链接到更高版本的libstdc++.so.6.0.10。

然后把/usr/lib/libstdc++.so.6 -> /usr/lib/libstdc++.so.6.0.8
软链接删除(rm -rf /usr/lib/libstdc++.so.6),重新链接ln -s /usr/lib/libstdc++.so.6.0.10  /usr/lib/libstdc++.so.6。

# ll /usr/lib/libstdc++.so.6
lrwxrwxrwx 1 root root 28 Jun 18 18:43 /usr/lib/libstdc++.so.6 -> /usr/lib/libstdc++.so.6.0.10

重新编译,则上述“/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found ”问题解决。