I compiled a static Qt4 application(fancybrowser) under Ubuntu 10.04, it works under Ubuntu 10.04, but when I tried to run it under CentOS 4.6.2, I got the following error,
./fancybrowser: /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by ./fancybrowser)
After some research, I knew I have to compile it under CentOS 4.6.2 and lower version, or under Debian 4, so I install Debian 4 under vmware, recompile Qt under Debian4, compile fancybrowser, there are many duplicated job.
continuing search, and I got the suggestion,
Try the linux-lsb-g++ mkspec if you intend to deploy a Qt application in several different Linux systems/distros.
What is the LSB?
LSB means Linux Standard Base.
An operating system’s success is inextricably linked with the number and quality of applications that run on top of it. Linux and its variances between distributions, however, present ISVs and individual developers with a unique set of challenges: different distributions of Linux make use of different versions of libraries, important files stored in different locations, and so on. If an ISV wants to reach a global Linux audience, they must support more than one distribution of Linux. These challenges and variances make it difficult–and costly–for ISVs to target the Linux platform.
The Linux Standard Base was created to solve these challenges and lower the overall costs of supporting the Linux platform. By reducing the differences between individual Linux distributions, the LSB greatly reduces the costs involved with porting applications to different distributions, as well as lowers the cost and effort involved in after-market support of those applications.