Bug#622931: libav: pkg-config files implies possible static linkage

Carl Fürstenberg azatoth at gmail.com
Sun Apr 17 17:51:12 UTC 2011


On 2011-04-17 19:14, Neil Williams wrote:
> 
> Tollef? Any change in that since 2007?
> 
> (I'm not expecting such a change as pkg-config doesn't do this for dynamic linkage either, that is left to the package build system. As static is not the default build for most package build systems, it's not unexpected that it simply doesn't work in many cases. Too few people care, too few people to test every single change in the dependency chain.)
> 
> Is it possible to define an alternative .pc file which omits libva-dev and libgcrypt? (Even if that means that libav itself needs different ./configure options to be built that way).
> 
> If not, maybe this just needs some documentation that static linking for this package - and quite probably many, many others - simply does not work. It's an upstream issue - does upstream care about static linkage? (I'm upstream for a few and I frankly don't care about static linkage in those packages at all. I haven't worked with other upstream teams where I can remember anyone ever expressing interest in static linking either.)
> 
> I think it is worth being realistic here. Assuring static linkage support in Debian is, IMHO, simply not attainable for the vast majority of libraries. It's not a fixable problem because not enough people care about it anymore. Changes in static linkage behaviour are not likely to be an ingredient in any Release Team considerations for testing migrations or stable releases, so even if this was done once, it would break almost immediately.
> 
> I also think the bug is from a mistaken viewpoint. There is nothing which can be put into a .pc file to imply that static linkage is or is not possible. pkg-config has a --static option but pkg-config doesn't attempt to verify any of the strings it outputs, dynamic or static.
> 
> Therefore, libav does not have a pkg-config file which implies possible static linkage. Any package with a .pc file has an implied support for the options which pkg-config supports but that support is only a bug if the package concerned EXPLICITLY declares such support. All packages in Debian can be considered to explicitly support dynamic linking via pkg-config if a .pc file is provided - the same cannot be said for static.
> 
> Packages cannot be blamed for lack of support for options made available from tools when those options are not explicitly supported by that particular package.
> 
> Certain methods must be supported and, currently, that is dynamic linkage - not static.
> 
> IMHO unless every upstream package in the necessary chain states that static linkage is supported by upstream, then static linkage is an "exercise left to the reader" to solve and there's nothing to be done with bugs like this, except possibly state in the packaging docs that static simply does not work "out of the box".
> 

It seems I've missunderstod some aspects of the features of pkg-config.
I assumed as there are Requires.private and Libs.private, that there was
some way to specify that static linkage was not possible at all.

Perhaps an bug on pkg-config should be open to add option to prohibit
static linkage.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 900 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20110417/67bd9d26/attachment.pgp>


More information about the pkg-multimedia-maintainers mailing list