Building multi-kernel compatible (Linux RHAS) apps ?
Can anyone point me to a good source of documentation on building and distributing applications on Linux ?
I've recently been involved in a project implementation for the Linux platform, and without getting into too much detail, had various issues with library compatibility.
First of all, when I use 'ldd -v' I get responses such as :
libc.so.6 (GLIBC_2.1) => /lib/i686/libc.so.6
libc.so.6 (GLIBC_PRIVATE) => /lib/i686/libc.so.6
My first question is ..... what does the '(GLIBC_2.1)' bit refer to ? Is this some sort of sub-versioning ?, any why are two different versions of the same library required by one .exe ?
My second question is ... if I provide the libraries from my development machine alongside the application, is it guaranteed (bad choice of words, I know !) that these libraries will be compatible with the destination machine (possibly different Kernel version etc...) ? If the answer to this is 'no', then my third and final question is ..... "How can I build an install that will work across as wide a variety of Linux kernel / glibc 's as possible ?
(FYI : I'm aware I can use the 'ld-linux.so.2' to specify a different library path for a give executable)