[Fedora-packaging] Missing library symbolic links

Michael Schwendt mschwendt at gmail.com
Fri Nov 8 11:49:53 UTC 2013


On Thu, 7 Nov 2013 18:33:13 -0800 (PST), David Highley wrote:

> > Sounds a bit as if you're missing the *-devel packages for those libs.
> > libX11-devel libxml2-devel and so on.
> 
> Ah, now we see the subtlety in the split between development and run time
> packages. It had not dawned on us that the final symlink is tied to the
> development package, especially as their are other symlinks being
> applied.

There is no "final" symlink. They are two separate types of symlinks:
The versioned one is maintained by ldconfig for the runtime. The
non-versioned .so is used by build-time tools (and may point directly
at the fully versioned lib file - there is no need to create a chain
of symlinks, such as .so -> .so.1 -> .so.1.0.0).

Note that the split into run-time and build-time packages is somewhat
controversial. There are exceptions, where the non-versioned .so symlink
is used at runtime (e.g. via a dlopen method). At Fedora, it is not always
tried to patch such code to open the versioned library instead. For example,
if the developers insist on opening the non-versioned .so (if installed)
and try to support a broad range of library interfaces instead of expecting
a specific library version. Sometimes packagers accept the burden of adding
and updating a patch, but there are exceptions.


More information about the packaging mailing list