First of you need to realize that if you get message like this the application you trying to run is not meant to this platform/distribution. So, it's very likely that it'll crash in most painful way, taking all your files, money and house :)
Especially, this is related to the (g)libc, as it is closely tighten to the kernel ABI and running glibc compiled for the different version of ABI is risky. That's the reason behind library versioning.
If after all those warnings you still want to give it a try you can use, in the order of complexity, the following:
Unpack appropriate library into the same catalogue, where your app is(or any other distinguished catalogue) and run the app
like:
LD_LIBRARY_PATH=. ./app
You can check the right library is picked up by testing with LD_LIBRARY_PATH=. ldd ./app
. Beware, that won't work for root
user and suid applications.
You can actually try to create chrooted environment for the application. Keep in mind, that chroot
call resets the location of the root(/) directory for application that runs under it. In practice, that means that you need to provide not only the replacement glibc
library, but ALL the libraries that used by your application and libraries that used by those libraries and so on, until you have everything that would create self-sufficient environment. That also implies presence of at least /dev/null
, /dev/stdin
, /dev/stdout
and /dev/log
devices, as well as /etc/passwd
and /etc/group
files. The good example of such environment on Debian is postfix
installation(check /var/spool/postfix/
). The launch command itself would be simple:
chroot /home/of/chrooted/app ./app
The best and easiest way though would be usage of the docker
and appropriate image, that suitable for your app. Installing docker
is whole huge topic by itself, you can start with Docker installation guide. One pre-requirement for it though Linux kernel greater than 3.8+. Besides this limitation it's the best way to run an app that requires different distribution/libraries set.
Also, check how to run new software without updating GLIBC?