.so's in devel packages...

Michael Schwendt mschwendt at gmail.com
Thu Jun 21 07:28:42 UTC 2012

On Tue, 19 Jun 2012 08:39:40 -0700, Adam Williamson wrote:

> > And again, this is not the full story. 
> I was trying to keep it simple.

The simplified case/explanation is what encourages packagers to misplace
.so files. For example, -devel packages that contain .so files but no
header files should be a sign of warning to the packagers.

> > There is no hard rule on where 
> > non-versioned .so files are to be packaged. They could still be local libs
> > (with no API for public consumption) strictly required by an application.
> I tend to talk about these as 'plugins', myself, to keep them distinct.
> They're really _not_ shared libraries, in my worldview anyway - as you
> say, they present no public API, they're not intended to be used by
> anything else.

Cannot agree with that worldview then. ;) They are dynamic shared object
files at the technical level and may be shared by multiple executables
and/or other libraries, too. Even if they are not versioned and don't use
a SONAME. The subtle (and important) difference for the packager is that
they may be _local_ to a package.

> They just happen to use the same file format. In the
> context of the question - which was about .so's which _are_ in -devel
> packages - it was clear the OP was asking about true shared libraries,
> not private plugins.

The OP also referred to something else: packaging multiple versions of a
library and making the packages parallel-installable. Now, at Fedora,
moving the .so symlink (here really the one used during development only)
to a -devel package indeed removes one potential file that would cause a

  libfoo.so.3 <- libfoo.so
  libfoo.so.4 <- libfoo.so

but those -devel packages would conflict, and that would not be permitted
by Fedora's packaging guidelines. It would be necessary to move the .so
symlink even further, e.g. into its own directory (requiring compilation
of programs to alter the build-time search path for libs).
Fedora release 17 (Beefy Miracle) - Linux 3.4.2-4.fc17.x86_64
loadavg: 0.30 0.55 0.39

More information about the devel mailing list