linux系统为centos5.8,QT安装包为qt-opensource-linux-x86-5.3.1.run,安装后提示如下错误:
./qt-opensource-linux-x86-5.3.1.run: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by ./qt-opensource-linux-x86-5.3.1.run)
./qt-opensource-linux-x86-5.3.1.run: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./qt-opensource-linux-x86-5.3.1.run)
./qt-opensource-linux-x86-5.3.1.run: /lib/libc.so.6: version `GLIBC_2.9' not found (required by ./qt-opensource-linux-x86-5.3.1.run)
./qt-opensource-linux-x86-5.3.1.run: /lib/libc.so.6: version `GLIBC_2.10' not found (required by ./qt-opensource-linux-x86-5.3.1.run)
./qt-opensource-linux-x86-5.3.1.run: /lib/libc.so.6: version `GLIBC_2.11' not found (required by ./qt-opensource-linux-x86-5.3.1.run)
./qt-opensource-linux-x86-5.3.1.run: /lib/libc.so.6: version `GLIBC_2.7' not found (required by ./qt-opensource-linux-x86-5.3.1.run)
原因在于libstdc++.so和libc.so的版本过低。
操作步骤如下:
执行命令: strings /usr/lib/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
GLIBC_2.3
GLIBC_2.0
GLIBC_2.3.2
GLIBC_2.4
GLIBC_2.1
GLIBC_2.1.3
GLIBC_2.2
GLIBCXX_FORCE_NEW
结果中并没有3.4.9和3.4.11.
执行命令: ls /usr/lib/libstdc++.so.6
结果:/usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.8
/usr/lib/libstdc++.so.6实际软链接的是libstdc++.so.6.0.8,这里实际需要的是libstdc++.so.6.0.13,从网上下载libstdc++.so.6.0.13放到/usr/lib下,并重新软链接。
ln -s /usr/lib/libstdc++.so.6.0.13 /usr/lib/libstdc++.so.6
链接完成,重新测试。
libc需升级到2.11.
升级libc参考文章:http://blog.sina.com.cn/s/blog_53c061270101cxxr.html
升级gcc参考文章: http://blog.csdn.net/force_eagle/article/details/5203578