问题:RHEL5安装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。
从网上下载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 ”问题解决。
阅读(2686) | 评论(0) | 转发(0) |