On 2020-06-01 at 10:35, Paul Wise wrote:

> On Mon, 2020-06-01 at 14:18 +0000, Vasyl Gello wrote:
> 
>> So static libs present in packages like popt are remnants of the
>> past and the general practice now is to discourage shipping all
>> kinds of static libraries unless it is Go/OCaml… as mentioned in
>> this wiki page?
> 
> Right.

That seems like a questionable decision.

If I need to compile a program to run in an environment where I can't
know what libraries / library versions are going to be available, or
maybe even do know for a fact that certain ones will not be available,
the obvious solution is to link it statically - but if Debian doesn't
ship the static libraries, how exactly am I supposed to do that in
Debian?

Not linking programs statically by default is certainly a good idea, as
is not shipping statically-linked programs in Debian packages without
specific cause to do so (as cited on that Wiki page) - but not shipping
static libraries just means that someone who *does* have a legitimate
reason to use static linking in a particular case will have to compile
the entire library stack necessary by hand, which seems like a
suboptimal solution at best.


Fortunately, there still seem to be thousands of packages which do ship
static libraries, even excluding all packages whose names reference go
or ocaml:

$ apt-file -x search '\.a$' | cut -d ':' -f 1 | sort -u | grep -v
'\bgo\b' | grep -v ocaml | wc -l
5524

If this "discourage shipping static libraries" policy is in fact in
place, it seems to either be de-facto ignored in practice, or new enough
that there are still lots of packages which haven't been affected.


In fact, I don't see anything in that StaticLinking Wiki page which
indicates that static libraries should not be shipped, and the relevant
section of Debian Policy to which it links [1] states that "the static
library is usually provided in addition to the shared library".

Can you point me to a reference for the statement that it is now general
practice to discourage shipping of static libraries (as distinct from
statically-linked executables) in Debian packages?

[1]
https://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-static

-- 
   The Wanderer

The reasonable man adapts himself to the world; the unreasonable one
persists in trying to adapt the world to himself. Therefore all
progress depends on the unreasonable man.         -- George Bernard Shaw

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to