On windows, it is possible to build a binary using a compiler on Windows XP that can then run on older versions of windows simply by not using any features specific to the newest versions of windows XP (or by using LoadLibrary and GetProcAddress to see if those features are available or not).
Can you do the same thing on linux?
No, Windows is much better than linux ;)
I mean... Of course you can do that on Linux. But that is not the point here.
The point here is what happens when you do build-time linking to functions that don't exist in older versions of the system's shared libraries (those linked at runtime).
The answer is it does not work when said functions do not exist. And that should not surprise you.
David Daney.