shlibs problem while building package

Marc Franquesa marc.franquesa at
Sat Sep 29 13:13:32 BST 2007

2007/9/28, Stefan Potyra <sistpoty at>:

> Right, from your source package you need to create a binary package for each
> library with the correct name referring to the SONAME of the library in

This is what I don't want to do, the package in question holds 30
libraries (all related)

> question. Let me try to explain why this is needed:
> Consider that someone has installed the package foo, which depends on libbar1,
> which is provided by your binary package. Now the bar library changes its API
> in an incompatible way, so the SONAME of it gest bumped. The effect would be
> that you'd change your source package to build a library package libbar2 from
> then on. However foo was still built against libbar1 (and happens to depend
> on the functionality that was removed from bar).
> Now consider a user's system: The user has installed foo, and libbar1 got
> drawn in, because foo depends on libbar1. After the API change, (s)he can
> then additionally install libbar2 (maybe because the new package foobar which
> the user upgraded depends on the newer library version). libbar1 however
> would still be there, so foo would still work.

I understand this: The idea is to embed the version in the package
name to let the installation of diferent versions of the library in
the same system.

> If you put more than one library in a binary package, and only one library
> would change its API, then the above scenario would fail: If you wouldn't
> then bump the binary name for *every* changed API of one of the libraries,
> foo would still satisfy the depends on libbar1, but would no longer work.

I know this, but the libraries I'm packaging are all related between
them, and an API change will probably afect all (or almost all) the
libraries in the package. Then I don't worry about an API change,
because any API change will afect all the libraries in the package and
I must rebuild it in any case.

> Clear now? (as written already, I'm not too good at explaining).

Yes, but I want to make something like the libvtk5 package (for
example) that holds many libraries inside the same package.

My question is:

¿In only have to rename the package from libinsight-toolkit to
libinsight-toolkit2.8 ? (embedding the soname in de name)

Thanks for your attention

"If you don't know where you're going,
any road will take you there" - Lewis Carroll
Marc Franquesa
Vic - Catalonia

More information about the Ubuntu-motu mailing list