I'm currently developing a shared library (.so) in C++ which should be distributed as a binary instead of sources.
I work on Feudora Core 2 (based on RedHat distribution), it has Linux kernel 2.6

The questions are:
1. Will the binary be only compatible to 2.6 kernels?
2. Should I recompile the binary for each of the kernels of the destination platforms (2.4, 2.6)?
3. Is it dangerous to run something compiled on 2.6 kernel under 2.4?
4. Is it better/safer to compile everything under 2.4 and then run it under 2.6?
5. May I rely on the default Linux distribution I installed from the disks, or it is important to patch gcc/kernel/something else to their latest versions?

I have my thoughts about the correct answers, but I'd like to get a competent advice

Thank you,


P.S. While developing, we use another third-party library which also comes in binary form. They have only one version of it compiled, I think, on even older kernel.