Don't blame Linux for that-- it's all userspace's fault. And some distros actually do a remarkable job of it; I remember using Skype binaries that needed a different libc version with a different C++ ABI, and Gentoo happily pulled in the additional libraries through the package manager and it just worked. But there was definitely no way it was going to run using the same system library files that other packages were using; it wouldn't even try to, since the sonames were different.