Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a program (JavaFX 2, namely), and one of its binaries (libglass.so) requires libgio-2.0.so.0. The problem is, the system, on which I need to run the app, is quite old and mostly out of my control (thus I can't update it).

I tired copying libgio from my machine there, but only to find that libgio requires GLIBC_2.9 - and target machine only has libc-2.5.

Is there a way to work around this behavior?

share|improve this question
up vote 1 down vote accepted

The obvious solution is to build glibc 2.9, copy that over as well (do not overwrite the existing one!), then run javafx with LD_LIBRARY_PATH="/old/glibc/libraries:$LD_LIBRARY_PATH" prepended. Alternatively put that path at the end of /etc/ld.so.conf and rerun ldconfig.

share|improve this answer
Hm. That machine already has glibc 2.5, so why should I rebuild it? – Rogach Jul 2 '12 at 9:42
I tried copying over libc 2.12 (and ld-linux), but got only as far as segfault. – Rogach Jul 2 '12 at 9:42
oops, I meant 2.9, fixing. It needs to be the same glibc the package was built against to be completely safe. – lynxlynxlynx Jul 2 '12 at 9:50
There is this question - unix.stackexchange.com/questions/2717/…, and it is stated there that just recompiling glibc wouldn't help :( – Rogach Jul 2 '12 at 9:51
but libglass and libgio are not statically linked or their names wouldn't end in ".so". – lynxlynxlynx Jul 2 '12 at 10:00

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.