Anyone who has ever been interested in having someone else be able to run their program has figured out a long time ago that you have to ship your dependencies for them to be able to do so.
Shared libraries have nothing to do with Linux. They are an entirely userspace concept.
Or something was compiled without some option for unknown reasons so you're just SOL unless you want to compile stuff yourself.
Your other point is equally as inane. Anything might fail because it requires some external program, or external data files, or any other external resource. A program might fail because it requires a particular hardware device to be plugged into your computer. None of that has anything to do with the operating system.
>Or something was compiled without some option for unknown reasons so you're just SOL unless you want to compile stuff yourself.
Oh no! The terribly, impossibly difficult task of running a program! How could you ever subject me to such a fate as having to compile stuff myself. You cruel beast!