On Tue, Dec 18, 2007 at 09:28:37PM -0600, Mike Miller wrote: > On Tue, 18 Dec 2007, Brock Noland wrote: > > They don't have the same kernels and same libraries. > > Oh. Good answer. To what degree do the kernels differ? A lot. It's gotten better now, but the distribution still add patches. Check for yourself: fetch the source rpms, explode them and see what patches are included, read the changelog to see why, etc. > I thought a > Linux team made the kernel and the distros all used the same kernel but > perhaps different versions. Do the different kernels prevent binaries > from one distro from functioning properly on another distro? May or may not, depending on what's patched. Support for an experimental network protocol, or some piece of hardware. > Regarding libraries: I thought the point of LSB was mostly to get the > libraries to be the same, or at least fully compatible. What's going on > with that? The LSB requires a small number of libraries [1]: * libc * libm * libgcc_s * libdl * librt * libcrypt * libpam while my Ubuntu desktop has: $ find /usr/lib -type f -name \*so\* | wc -l 3397 $ find /lib -type f -name \*so\* | wc -l 295 and my Centos server has: $ find /usr/lib -name \*so\* -type f | wc -l 774 $ find /lib -name \*so\* -type f | wc -l 284 and my Solaris server has: $ find /usr/lib -name \*so\* -type f | wc -l 469 $ find /lib -name \*so\* -type f | wc -l 148 And $DEITY only knows what --configure options have been passed to those libraries when built. There are hundreds of millions of lines of [free] code out there, and tens of millions are selected and configured for a given distribution. It's similar to the DNA -> cell -> organism. The base [2] is the same, but wiggle the sequence [3] a bit and you get many things. Some which mate with each other, some which eat each other. > Do differences in libraries cause binaries from one distro > from working on another distro. Yes, they do. For instance the Sun C++ compiler works on Ubuntu but not on RedHat because there is a quirk in the GNU linker and how it interacts with the name mangling. Or try running an old binary application like Oracle on a newer distribution: you'll need the 'compat' libraries. Cheers, florin 1: http://refspecs.linux-foundation.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/baselib.html 2,3: puns always intended -- Bruce Schneier expects the Spanish Inquisition. http://geekz.co.uk/schneierfacts/fact/163 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature Url : http://mailman.mn-linux.org/pipermail/tclug-list/attachments/20071218/df1fde3f/attachment-0001.pgp