Link to home
Start Free TrialLog in
Avatar of McVole
McVole

asked on

How can I override the version of the C library loaded by a compiled program without source with no root access?

I have a compiled C program that implicitly attempts to load libc.so.6 when run. When I attempt to run it on a host that I do not have root access to, it complains that it needs a newer version of libc than is present. The host has a symbolic link from /lib/libc.so.6 to /lib/libc-2.3.2.so* and I placed a copy of libc-2.6.1.so in my filespace, made a symbolic link libc.so.6 to it and set LD_LIBRARY_PATH to the absolute path to the directory containing such, and ran the program again, receiving the same complaint. Is there any way to convince it to load the library in my filespace and not the system one that I cannot touch?

SOLUTION
Avatar of dmadole
dmadole
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
ASKER CERTIFIED SOLUTION
Avatar of Duncan Roe
Duncan Roe
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Hey McVole - any progress?
Avatar of McVole
McVole

ASKER

No, real life intervened. However, I find your answer credible, and when I can get to it I will pursue your line of attack. As that is now who-knows-when, I'll award points now, and close this out.