Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: gentoo: static/dynamic linking libraries
Date: Mon, 30 Apr 2007 08:55:08
Message-Id: pan.2007.04.30.08.49.23@cox.net
In Reply to: Re: [gentoo-dev] gentoo: static/dynamic linking libraries by Roman Zimmermann
1 Roman Zimmermann <mereandor@×××××.com> posted
2 200704300928.20427.mereandor@×××××.com, excerpted below, on Mon, 30 Apr
3 2007 09:28:16 +0200:
4
5 > Am Montag 30 April 2007 05:35 schrieb Marius Mauch:
6 >> [snip]
7 >> builds being irrelevant in many cases is wrong, just that the claim of
8 >> "only 2 packages needing it" is bogus.
9 >
10 > Surely this was meant in the context of the previous thread: 2 out of
11 > 845 packages on my system would be right. That's about 0,237%. Either
12 > way this is a small percentage to argue that 100% should be built with
13 > static libs. (And there is still the question whether those two would
14 > really _need_ those static libs or it's just due to the deficiency of
15 > the EXTRA_ECONF-method.)
16 >
17 > When I have time I will take a look on how some other distributions
18 > handle this.
19
20 What <most> other distributions (which are binary) do doesn't apply,
21 because they aren't designed for the end-user to be constantly compiling
22 stuff as is assumed on Gentoo. Most other distributions can (and
23 probably do) split most libraries into main-package and -dev package, the
24 -dev version containing headers and likely static versions of the
25 libraries, while the dynamically linked binaries, config, etc, is in the
26 main package.
27
28 That makes no sense for an end-user compiled distribution, where if a
29 library is installed, it's assumed it will be used, and to use it headers
30 and the like must be installed as well. Statically linked library
31 binaries won't always be needed, true, but IMO the same idea should apply
32 -- they should be installed by default as it'll be impossible to link
33 something statically against them if they aren't, and where end-user
34 compiling must be assumed, it's entirely reasonable to assume those same
35 end-users may wish some of those compilations to be statically built.
36
37 Sure, if it's not too much of a hassle, give those users a USE flag
38 (since we're talking per-package enabling), that can of course be set
39 globally in make.conf if desired, and that defaults to installing static
40 as well as dynamic for most profiles. Embedded may wish to disable it by
41 default, and users may do so if desired, but in the general case, the
42 static libs should be there by default just in case. However, if it's
43 too much hassle, having both installed is the sane default, and there's
44 certainly INSTALL_MASK for those such as embedded that might be tight-up
45 on space or the required additional compiling resources.
46
47 --
48 Duncan - List replies preferred. No HTML msgs.
49 "Every nonfree program has a lord, a master --
50 and if you use the program, he is your master." Richard Stallman
51
52 --
53 gentoo-dev@g.o mailing list