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