Matthew Garrett mjg59 at srcf.ucam.org
Wed Nov 2 21:04:14 CST 2005


On Wed, Nov 02, 2005 at 09:51:58PM +0100, Sebastian Dröge wrote:

> Our current ffmpeg package ships only -dev packages for libavcodec
> and libpostproc. These contain the static .a archives and no package
> with shared .so libraries is available from our ffmpeg package. This
> yields to the following problem: when updating ffmpeg all packages using
> it need to be recompiled to use the advantages of the updated ffmpeg and
> (more important) _every_ binary which links against libavcodec gets 2-3
> mb bigger! for example for transcode this makes a real difference as it
> contains many binaries linking against libavcodec. The compressed size
> of the binary is ~14 MB instead of ~2 MB, the installed size is ~40 MB
> instead of ~5 MB. Using Marillat's version also helps in this case.
> Shipping only static libraries is also generally discouraged [2]

The reason for the Debian package shipping static libraries rather than 
dynamic ones is because the ffmpeg developers don't provide a stable 
ABI. If you want to change that, then you'll need to track the ABI 
closely and change the SONAME of the libraries every time it changes in 
an incompatible way. That'll then require rebuilding the entire rdepends 
tree.

In summary - go ahead, but if you want to do it it's going to involve a 
great deal of ongoing pain.

(I'm also not a fan of the idea of replacing free software with non-free 
software, but, well)
-- 
Matthew Garrett | mjg59 at srcf.ucam.org



More information about the ubuntu-devel mailing list