Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

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
add comment

1 Answer

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
show 3 more comments

Your Answer

 
discard

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.