0. perform the following operations on centos 6.3 x86_64
1. attempt to run the program and prompt "libc. so.6: Version 'glibc _ 100' not found ", because the glibc version of the system is too low and glibc version is used in software compilation:
[ghui@StuOS bin]$ pwd/var/VMdisks/cross/mingw32/bin[ghui@StuOS bin]$ lslrelease QtCore4.dll QtNetwork4.dll QtSql4.dll QtXml4.dllmoc QtDeclarative4.dll QtOpenGL4.dll QtSvg4.dll rccphonon4.dll QtGui4.dll QtScript4.dll QtTest4.dll uicqmake QtMultimedia4.dll QtScriptTools4.dll QtWebKit4.dll[ghui@StuOS bin]$ ./qmake ./qmake: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./qmake)
2. view the versions supported by glibc:
[ghui@StuOS bin]$ strings /lib64/libc.so.6 |grep GLIBC_GLIBC_2.2.5GLIBC_2.2.6GLIBC_2.3GLIBC_2.3.2GLIBC_2.3.3GLIBC_2.3.4GLIBC_2.4GLIBC_2.5GLIBC_2.6GLIBC_2.7GLIBC_2.8GLIBC_2.9GLIBC_2.10GLIBC_2.11GLIBC_2.12GLIBC_PRIVATE
[ghui@StuOS bin]$ rpm -qa |grep glibcglibc-static-2.12-1.80.el6_3.6.x86_64glibc-headers-2.12-1.80.el6_3.6.x86_64glibc-common-2.12-1.80.el6_3.6.x86_64glibc-devel-2.12-1.80.el6_3.6.x86_64glibc-static-2.12-1.80.el6_3.6.i686glibc-devel-2.12-1.80.el6_3.6.i686glibc-2.12-1.80.el6_3.6.i686glibc-2.12-1.80.el6_3.6.x86_64
3. We can see that only version 2.12 is supported, so we need to compile and solve this problem:
A. Go to http://www.gnu.org/software/libc/download the latest version. Here I download the glibc-2.14.tar.xz version, decompress it to any directory to prepare for compilation.
B. decompress it here to/var/vmdisks/glibc-2.14/
[ghui@StuOS bin]$ cd /var/VMdisks/glibc-2.14/[ghui@StuOS glibc-2.14]$ pwd/var/VMdisks/glibc-2.14[ghui@StuOS glibc-2.14]$ lsabilist config.h.in intl README.libmabi-tags config.log io resolvaclocal.m4 config.make.in libc-abis resourceaout configure libidn rtargp configure.in libio Rulesassert conform LICENSES scriptsautom4te.cache CONFORMANCE locale setjmpbits COPYING localedata shadowBUGS COPYING.LIB login shlib-versionsbuild cppflags-iterator.mk mach signalCANCEL-FCT-WAIVE crypt Makeconfig socketCANCEL-FILE-WAIVE csu Makefile soft-fpcatgets ctype Makefile.in stdio-commonChangeLog debug Makerules stdlibChangeLog.1 dirent malloc streamsChangeLog.10 dlfcn manual stringChangeLog.11 elf math sunrpcChangeLog.12 extra-lib.mk misc sysdepsChangeLog.13 extra-modules.mk NAMESPACE sysvipcChangeLog.14 FAQ NEWS termiosChangeLog.15 FAQ.in nis test-skeleton.cChangeLog.16 gmon NOTES timeChangeLog.17 gnulib nptl timezoneChangeLog.2 grp nptl_db tls.make.cChangeLog.3 gshadow nscd version.hChangeLog.4 hesiod nss Versions.defChangeLog.5 hurd o-iterator.mk wcsmbsChangeLog.6 iconv po wctypeChangeLog.7 iconvdata posix WUR-REPORTChangeLog.8 include PROJECTSChangeLog.9 inet pwdconf INSTALL README
C. Create a build directory in the glibc source code directory and run CD to enter the build directory.
[ghui@StuOS glibc-2.14]$ mkdir build
[ghui@StuOS glibc-2.14]$ cd build
D. Run configure configuration, make & sudo make install
[ghui@StuOS build]$ ../configure --prefix=/opt/glibc-2.14[ghui@StuOS build]$ make -j4 [ghui@StuOS build]$ sudo make install[sudo] password for ghui:
4. Temporarily modify Environment Variables
[ghui@StuOS bin]$ export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH
[ghui@StuOS glibc-2.14]$ cd /var/VMdisks/cross/mingw32/bin/
[ghui@StuOS bin]$ ./qmake Usage: ./qmake [mode] [options] [files]QMake has two modes, one mode for generating project files based onsome heuristics, and the other for generating makefiles. Normally youshouldn't need to specify a mode, as makefile generation is the defaultmode for qmake, but you may use this to test qmake on an existing project...
This operation is normal and the problem is resolved.
By ghui
Iomato.dev@Gmail.com
-