views:

246

answers:

1

I am trying to build a standalone qt application (built on ubuntu and deployed on Red Hat 5.3, both 64 bits) after building a qt application that is statically linked to the qt library I tried to run the program on red hat and got an error saying libc.so.6 was not found and that GLIBC_2.9 or GLIBC_2.10 is not installed and needed. I tried doing a yum install glibc but then I get a message saying that glibc is up to date (i think it is its version is 2.5) I guess I am going to restart the build process but this time from a red hat installation. What do you suggest I should do in this case. My goal is to build a standalone qt application that only needs to run on red hat 5 (im pretty sure there is also going to be an issue with fontconfig.so but I can simply provide this library directly in the same directory as the app)

+2  A: 

You're trying to make a portable binary on Linux? There's two ways I know.

First, arguably the technically correct method, but also quite a pain and probably not worth the time: compile Qt and your app with an LSB SDK. (or just compile your app with an LSB SDK, if the Qt version in LSB is new enough for you.)

Second, the pragmatic approach: compile Qt and your app on a machine with the oldest version of glibc you intend to support. For example, instead of compiling on ubuntu and deploying on redhat, try the other way around.

If you need to support a wide range of glibc or other system libraries, you'll probably have to compile multiple times and distribute several binaries.

Intransigent Parsnip
yeah my mind was going there thanks, I was trying to make a portable binary with the newest packages that runs on an OS that evidently has some old packages...gonna up vote you when my voting cooldown wears off
yan bellavance