On Sun, 19 Jun 2005, Simon Perreault wrote: > ...which is wrong. If you try to use the auth-pam plugin when pam-devel isn't > installed, it will not find libpam.so. > > .so's are only included in -devel packages because their only use is when > linking.
False. The linker, when linking a shared object, just writes a line "bind library libfoo.so.4.2 at run time" into the program, and this exact library (for ELF, use readelf or objdump to look for "SONAME" and "NEEDED" attributes) is then linked when the program is run. The .so file without .4.2 suffix (the exact numbers are an arbitrary example here) is indeed only needed at link time, but the variant that matches the SONAME of the library that was linked against is also needed at runtime. Emulating the library search characteristics of the particular system's linker is a different task though, and doing this incompletely can indeed cause trouble finding runtime libraries. So you may have: libfoo-1.2.3-4.rpm containing: lib/libfoo.so.4.2 man/man7/foo.7.gz share/doc/foo/README libfoo-devel-1.2.3-4.rpm containing: lib/libfoo.a (static lib) lib/libfoo.so (convenience link to libfoo.so.4.2) man/man3/foo.3.gz include/foo.h -- Matthias Andree