Centos5.8下安装QT5.3.1

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

你可能感兴趣的:(Centos5.8下安装QT5.3.1)