* [gentoo-dev] gentoo: static/dynamic linking libraries @ 2007-04-29 8:32 Roman Zimmermann 2007-04-29 8:54 ` Jakub Moc 0 siblings, 1 reply; 24+ messages in thread From: Roman Zimmermann @ 2007-04-29 8:32 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 978 bytes --] I'm now using gentoo with EXTRA_ECONF="--disable-static" for a while and it seems quite stable. Sometimes I encounter a package that won't build with this setting, but that's a rare occasion. At the moment this packages are for me: x11-libs/libXxf86vm sys-devel/gdb-6.6 dev-libs/jrtplib-3.5.2 dev-libs/libpcre sys-apps/ed I see that this way to disable static libraries is not perfect. Disabling static linking has - for me - before all the advantage of reducing size for most packages - for some packages up to 50%. So I'm curious why (nearly?) all ebuilds build static _and_ dynamic libraries? I understand that the current way is pretty hassle-free. But from my perspective a (possibly officialy unsupported) way to make things easier for people who wan't the choice would be fine. I'm sorry if there has been such a discussion already. Also I don't want to start a flame about what is the better choice (static or dynamic). regards Roman [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-29 8:32 [gentoo-dev] gentoo: static/dynamic linking libraries Roman Zimmermann @ 2007-04-29 8:54 ` Jakub Moc 2007-04-29 10:36 ` Ciaran McCreesh 0 siblings, 1 reply; 24+ messages in thread From: Jakub Moc @ 2007-04-29 8:54 UTC (permalink / raw To: gentoo-dev On 4/29/07, Roman Zimmermann <mereandor@gmail.com> wrote: > I'm now using gentoo with EXTRA_ECONF="--disable-static" for a while and it > seems quite stable. Sometimes I encounter a package that won't build with > this setting, but that's a rare occasion. At the moment this packages are for > me: > dev-libs/libpcre Disabling static libs in libpcre makes sys-apps/grep w/ USE=pcre bomb out on compile... Just an example why you should always install both of them. > Disabling static linking has - for me - before all the advantage of reducing > size for most packages - for some packages up to 50%. > > So I'm curious why (nearly?) all ebuilds build static _and_ dynamic libraries? > I understand that the current way is pretty hassle-free. But from my > perspective a (possibly officialy unsupported) way to make things easier for > people who wan't the choice would be fine. See http://bugs.gentoo.org/show_bug.cgi?id=165629, http://marc.info/?l=gentoo-dev&m=116026024223024&w=2 etc. -- Jakub Moc Email: jakub.moc@gmail.com -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-29 8:54 ` Jakub Moc @ 2007-04-29 10:36 ` Ciaran McCreesh 2007-04-29 16:43 ` Roman Zimmermann 2007-04-29 21:50 ` Rémi Cardona 0 siblings, 2 replies; 24+ messages in thread From: Ciaran McCreesh @ 2007-04-29 10:36 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 667 bytes --] On Sun, 29 Apr 2007 10:54:12 +0200 "Jakub Moc" <jakub.moc@gmail.com> wrote: > On 4/29/07, Roman Zimmermann <mereandor@gmail.com> wrote: > > I'm now using gentoo with EXTRA_ECONF="--disable-static" for a > > while and it seems quite stable. Sometimes I encounter a package > > that won't build with this setting, but that's a rare occasion. At > > the moment this packages are for me: > > dev-libs/libpcre > > Disabling static libs in libpcre makes sys-apps/grep w/ USE=pcre bomb > out on compile... Just an example why you should always install both > of them. No, that's an example of why you should sometimes install both. -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-29 10:36 ` Ciaran McCreesh @ 2007-04-29 16:43 ` Roman Zimmermann 2007-04-29 17:50 ` Marius Mauch 2007-04-29 18:46 ` paul kölle 2007-04-29 21:50 ` Rémi Cardona 1 sibling, 2 replies; 24+ messages in thread From: Roman Zimmermann @ 2007-04-29 16:43 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1370 bytes --] Am Sonntag 29 April 2007 12:36 schrieb Ciaran McCreesh: > On Sun, 29 Apr 2007 10:54:12 +0200 > > "Jakub Moc" <jakub.moc@gmail.com> wrote: > > On 4/29/07, Roman Zimmermann <mereandor@gmail.com> wrote: > > > I'm now using gentoo with EXTRA_ECONF="--disable-static" for a > > > while and it seems quite stable. Sometimes I encounter a package > > > that won't build with this setting, but that's a rare occasion. At > > > the moment this packages are for me: > > > dev-libs/libpcre > > > > Disabling static libs in libpcre makes sys-apps/grep w/ USE=pcre bomb > > out on compile... Just an example why you should always install both > > of them. > > No, that's an example of why you should sometimes install both. These are 5 packages out of 845 on my system. For those with version number it is only a compile time error, when make errornously tries to build a static target. Those without number are needed static by another package or don't like --disable-static (sys-apps/ed). That leaves 2 out of 845. So I'm with Ciaran here: It works for almost all packages and makes at least some difference. Maybe enough to (really) give the users the choice (without the ugly EXTRA_ECONF-hack)? Those links Jakub posted are interesting, but I don't find an explanation why this decission was made. Maybe you have a link to that discussion too? [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-29 16:43 ` Roman Zimmermann @ 2007-04-29 17:50 ` Marius Mauch 2007-04-29 17:56 ` Ciaran McCreesh 2007-04-29 18:21 ` Roman Zimmermann 2007-04-29 18:46 ` paul kölle 1 sibling, 2 replies; 24+ messages in thread From: Marius Mauch @ 2007-04-29 17:50 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 792 bytes --] On Sun, 29 Apr 2007 18:43:29 +0200 Roman Zimmermann <mereandor@gmail.com> wrote: > Those links Jakub posted are interesting, but I don't find an > explanation why this decission was made. Maybe you have a link to > that discussion too? What decision? That USE=static shouldn't be used for (not) installing static libraries is simply because the flag is used to control how (parts of) a package should be linked and global flags shouldn't be used for completely different purposes. That's been the case since the beginning, so I doubt you'll find any dicussion about it. Marius -- Public Key at http://www.genone.de/info/gpg-key.pub In the beginning, there was nothing. And God said, 'Let there be Light.' And there was still nothing, but you could see a bit better. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-29 17:50 ` Marius Mauch @ 2007-04-29 17:56 ` Ciaran McCreesh 2007-04-29 18:21 ` Roman Zimmermann 1 sibling, 0 replies; 24+ messages in thread From: Ciaran McCreesh @ 2007-04-29 17:56 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 818 bytes --] On Sun, 29 Apr 2007 19:50:58 +0200 Marius Mauch <genone@gentoo.org> wrote: > On Sun, 29 Apr 2007 18:43:29 +0200 > Roman Zimmermann <mereandor@gmail.com> wrote: > > Those links Jakub posted are interesting, but I don't find an > > explanation why this decission was made. Maybe you have a link to > > that discussion too? > > What decision? That USE=static shouldn't be used for (not) installing > static libraries is simply because the flag is used to control how > (parts of) a package should be linked and global flags > shouldn't be used for completely different purposes. That's been the > case since the beginning, so I doubt you'll find any dicussion about > it. The more interesting question is why static libraries are built and installed for most packages at all. -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-29 17:50 ` Marius Mauch 2007-04-29 17:56 ` Ciaran McCreesh @ 2007-04-29 18:21 ` Roman Zimmermann 1 sibling, 0 replies; 24+ messages in thread From: Roman Zimmermann @ 2007-04-29 18:21 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1200 bytes --] Am Sonntag 29 April 2007 19:50 schrieb Marius Mauch: > On Sun, 29 Apr 2007 18:43:29 +0200 > > Roman Zimmermann <mereandor@gmail.com> wrote: > > Those links Jakub posted are interesting, but I don't find an > > explanation why this decission was made. Maybe you have a link to > > that discussion too? > > What decision? That USE=static shouldn't be used for (not) installing > static libraries is simply because the flag is used to control how > (parts of) a package should be linked and global flags > shouldn't be used for completely different purposes. That's been the > case since the beginning, so I doubt you'll find any dicussion about it. > There is also the part about: "packages that can install static and shared libraries should always be installing them." [http://marc.info/?l=gentoo-dev&m=116026024223024&w=2] Which means either that this statement was meant for another context (and not in such a general meaning) or it says that there shouldn't/won't be a way to change this behavior. In case 1 this misses the point. (As Ciaran pointed out.) Since I was not specifically talking about the 'static' useflag. For case 2 I'm very interested in the reason. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-29 16:43 ` Roman Zimmermann 2007-04-29 17:50 ` Marius Mauch @ 2007-04-29 18:46 ` paul kölle 2007-04-29 19:04 ` Roman Zimmermann 1 sibling, 1 reply; 24+ messages in thread From: paul kölle @ 2007-04-29 18:46 UTC (permalink / raw To: gentoo-dev Roman Zimmermann wrote: > So I'm with Ciaran here: It works for almost all packages and makes at least > some difference. Maybe enough to (really) give the users the choice (without > the ugly EXTRA_ECONF-hack)? I wonder why you call this an ugly hack? It seems to me everyone who wishes to avoid installing static libs is able to do so with a simple variable. Having such a feature exposed to the mainstream crowd without proper support by developers (testing and such) will not do any good. cheers Paul -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-29 18:46 ` paul kölle @ 2007-04-29 19:04 ` Roman Zimmermann 2007-04-29 19:31 ` Marius Mauch 0 siblings, 1 reply; 24+ messages in thread From: Roman Zimmermann @ 2007-04-29 19:04 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 999 bytes --] Am Sonntag 29 April 2007 20:46 schrieb paul kölle: > Roman Zimmermann wrote: > > (without the ugly EXTRA_ECONF-hack)? > > I wonder why you call this an ugly hack? It seems to me everyone who > wishes to avoid installing static libs is able to do so with a simple > variable. Having such a feature exposed to the mainstream crowd without > proper support by developers (testing and such) will not do any good. > This is an ugly code since it's relies on econf which is - as an implementation detail - only used for packages with ./configure. (according to the ebuild howto). So it's not really a feature but a lucky assumption that most packages know what to do with "./configure --disable-static". Additionally handling exceptions with package.env can be a pain. It is much less supported by tools than package.use or .keywords. You are right that it would be wrong to expose this feature. But having it readily available and exposing it are two different sorts of things. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-29 19:04 ` Roman Zimmermann @ 2007-04-29 19:31 ` Marius Mauch 2007-04-29 19:36 ` Ciaran McCreesh 0 siblings, 1 reply; 24+ messages in thread From: Marius Mauch @ 2007-04-29 19:31 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1259 bytes --] On Sun, 29 Apr 2007 21:04:07 +0200 Roman Zimmermann <mereandor@gmail.com> wrote: > Am Sonntag 29 April 2007 20:46 schrieb paul kölle: > > Roman Zimmermann wrote: > > > (without the ugly EXTRA_ECONF-hack)? > > > > I wonder why you call this an ugly hack? It seems to me everyone who > > wishes to avoid installing static libs is able to do so with a > > simple variable. Having such a feature exposed to the mainstream > > crowd without proper support by developers (testing and such) will > > not do any good. > > > > This is an ugly code since it's relies on econf which is - as an > implementation detail - only used for packages with ./configure. > (according to the ebuild howto). So it's not really a feature but a > lucky assumption that most packages know what to do with "./configure > --disable-static". Additionally handling exceptions with package.env > can be a pain. It is much less supported by tools than package.use > or .keywords. An alternative that doesn't rely on autotools would be using INSTALL_MASK. Marius -- Public Key at http://www.genone.de/info/gpg-key.pub In the beginning, there was nothing. And God said, 'Let there be Light.' And there was still nothing, but you could see a bit better. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-29 19:31 ` Marius Mauch @ 2007-04-29 19:36 ` Ciaran McCreesh 2007-04-29 20:05 ` Olivier Crête 0 siblings, 1 reply; 24+ messages in thread From: Ciaran McCreesh @ 2007-04-29 19:36 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 269 bytes --] On Sun, 29 Apr 2007 21:31:52 +0200 Marius Mauch <genone@gentoo.org> wrote: > An alternative that doesn't rely on autotools would be using > INSTALL_MASK. Doesn't solve the "packages take twice as long to compile as they should" issue. -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-29 19:36 ` Ciaran McCreesh @ 2007-04-29 20:05 ` Olivier Crête 0 siblings, 0 replies; 24+ messages in thread From: Olivier Crête @ 2007-04-29 20:05 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 619 bytes --] On Sun, 2007-29-04 at 20:36 +0100, Ciaran McCreesh wrote: > On Sun, 29 Apr 2007 21:31:52 +0200 > Marius Mauch <genone@gentoo.org> wrote: > > An alternative that doesn't rely on autotools would be using > > INSTALL_MASK. > > Doesn't solve the "packages take twice as long to compile as they > should" issue. A combination of passing --disable-static to econf and INSTALL_MASK should do it. That said, having a feature/use flag to enable static library might not be such a good idea (and disable it on packages where static libraries are needed). -- Olivier Crête tester@gentoo.org Gentoo Developer [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-29 10:36 ` Ciaran McCreesh 2007-04-29 16:43 ` Roman Zimmermann @ 2007-04-29 21:50 ` Rémi Cardona 2007-04-29 21:56 ` Donnie Berkholz 2007-05-01 2:49 ` Peter Gordon 1 sibling, 2 replies; 24+ messages in thread From: Rémi Cardona @ 2007-04-29 21:50 UTC (permalink / raw To: gentoo-dev Ciaran McCreesh wrote: > On Sun, 29 Apr 2007 10:54:12 +0200 > "Jakub Moc" <jakub.moc@gmail.com> wrote: >> On 4/29/07, Roman Zimmermann <mereandor@gmail.com> wrote: >>> I'm now using gentoo with EXTRA_ECONF="--disable-static" for a >>> while and it seems quite stable. Sometimes I encounter a package >>> that won't build with this setting, but that's a rare occasion. At >>> the moment this packages are for me: >>> dev-libs/libpcre >> Disabling static libs in libpcre makes sys-apps/grep w/ USE=pcre bomb >> out on compile... Just an example why you should always install both >> of them. > > No, that's an example of why you should sometimes install both. > Open Question part: Since I don't have any thing other than Gentoo : does anyone know how other distros handle static libs in their -dev packages? Does anyone care about static libs except for maybe really really low level stuff? My Opinion part: I'd definitely would like to see them leave my system for good as I have no use for 99% of them whatsoever. Open Question part: Could some FEATURE disable static libs building by default in desktop profiles, with some (like the 5 packages Roman pointed out) using something like a RESTRICT? (These questions are really not meant to be inflammatory and they are honest questions as I'm learning the trade here. Yet, if I'm way off, please let me know :) ) Cheers, Rémi -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-29 21:50 ` Rémi Cardona @ 2007-04-29 21:56 ` Donnie Berkholz 2007-04-29 22:11 ` Ciaran McCreesh 2007-05-01 2:49 ` Peter Gordon 1 sibling, 1 reply; 24+ messages in thread From: Donnie Berkholz @ 2007-04-29 21:56 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 555 bytes --] Rémi Cardona wrote: > Since I don't have any thing other than Gentoo : does anyone know how > other distros handle static libs in their -dev packages? Does anyone > care about static libs except for maybe really really low level stuff? Anyone who wants to build a static binary wants the static libs. Given the difficulty in universally enabling or disabling their builds because of build-system differences, building them and tossing them in the trash with INSTALL_MASK, as Marius suggested, seems like the best way to go. Thanks, Donnie [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-29 21:56 ` Donnie Berkholz @ 2007-04-29 22:11 ` Ciaran McCreesh 2007-04-30 3:07 ` Roman Zimmermann 0 siblings, 1 reply; 24+ messages in thread From: Ciaran McCreesh @ 2007-04-29 22:11 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 474 bytes --] On Sun, 29 Apr 2007 14:56:57 -0700 Donnie Berkholz <dberkholz@gentoo.org> wrote: > Anyone who wants to build a static binary wants the static libs. Given > the difficulty in universally enabling or disabling their builds > because of build-system differences, building them and tossing them > in the trash with INSTALL_MASK, as Marius suggested, seems like the > best way to go. The best way to go or the only viable short term solution? -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-29 22:11 ` Ciaran McCreesh @ 2007-04-30 3:07 ` Roman Zimmermann 2007-04-30 3:35 ` Marius Mauch 2007-04-30 19:00 ` [gentoo-dev] " Kevin F. Quinn 0 siblings, 2 replies; 24+ messages in thread From: Roman Zimmermann @ 2007-04-30 3:07 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1582 bytes --] Am Montag 30 April 2007 00:11 schrieb Ciaran McCreesh: > On Sun, 29 Apr 2007 14:56:57 -0700 > > Donnie Berkholz <dberkholz@gentoo.org> wrote: > > Anyone who wants to build a static binary wants the static libs. Given > > the difficulty in universally enabling or disabling their builds > > because of build-system differences, building them and tossing them > > in the trash with INSTALL_MASK, as Marius suggested, seems like the > > best way to go. > > The best way to go or the only viable short term solution? That's the point! Universally disabling static builds can't be a longterm solution. The only sane way to do this is on a per ebuild basis. Since only the ebuild "knows" whats the right way to disable static libs or whether this package supports it at all. As of now most packages use or ignore --disable-static in a proper way, but since GNU autotools are not that popular anymore the "ignore" part of the tree is inclined to grow. This method has the advantage that it either fails at compile time or works fine. Something gives me the feeling that INSTALL_MASK will break things after installation and silently, which is a bad thing. So no solution here. And as it was pointed out before. Static builds are not needed most of the time. There is only 2 packages that actually need the static libraries. The rest fails due to upstream bugs in the configure/makefile (recognizing --disable-static but only applying it partially). So --disable-static seems to me like the only half-sane-partial-short-time-solution. cheers [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-30 3:07 ` Roman Zimmermann @ 2007-04-30 3:35 ` Marius Mauch 2007-04-30 7:28 ` Roman Zimmermann 2007-04-30 19:00 ` [gentoo-dev] " Kevin F. Quinn 1 sibling, 1 reply; 24+ messages in thread From: Marius Mauch @ 2007-04-30 3:35 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 961 bytes --] On Mon, 30 Apr 2007 05:07:00 +0200 Roman Zimmermann <mereandor@gmail.com> wrote: > And as it was pointed out before. Static builds are not needed most > of the time. There is only 2 packages that actually need the static > libraries. The rest fails due to upstream bugs in the > configure/makefile (recognizing --disable-static but only applying it > partially). In your test case. With USE=static or when checking the whole tree you'd almost definitely get more packages needing it. Note that I'm not saying that there shouldn't be another way to disable building/installing static libs or that the general message of static builds being irrelevant in many cases is wrong, just that the claim of "only 2 packages needing it" is bogus. Marius -- Public Key at http://www.genone.de/info/gpg-key.pub In the beginning, there was nothing. And God said, 'Let there be Light.' And there was still nothing, but you could see a bit better. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-30 3:35 ` Marius Mauch @ 2007-04-30 7:28 ` Roman Zimmermann 2007-04-30 8:49 ` [gentoo-dev] " Duncan 0 siblings, 1 reply; 24+ messages in thread From: Roman Zimmermann @ 2007-04-30 7:28 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 651 bytes --] Am Montag 30 April 2007 05:35 schrieb Marius Mauch: > [snip] > builds being irrelevant in many cases is wrong, just that the claim of > "only 2 packages needing it" is bogus. Surely this was meant in the context of the previous thread: 2 out of 845 packages on my system would be right. That's about 0,237%. Either way this is a small percentage to argue that 100% should be built with static libs. (And there is still the question whether those two would really _need_ those static libs or it's just due to the deficiency of the EXTRA_ECONF-method.) When I have time I will take a look on how some other distributions handle this. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* [gentoo-dev] Re: gentoo: static/dynamic linking libraries 2007-04-30 7:28 ` Roman Zimmermann @ 2007-04-30 8:49 ` Duncan 0 siblings, 0 replies; 24+ messages in thread From: Duncan @ 2007-04-30 8:49 UTC (permalink / raw To: gentoo-dev Roman Zimmermann <mereandor@gmail.com> posted 200704300928.20427.mereandor@gmail.com, excerpted below, on Mon, 30 Apr 2007 09:28:16 +0200: > Am Montag 30 April 2007 05:35 schrieb Marius Mauch: >> [snip] >> builds being irrelevant in many cases is wrong, just that the claim of >> "only 2 packages needing it" is bogus. > > Surely this was meant in the context of the previous thread: 2 out of > 845 packages on my system would be right. That's about 0,237%. Either > way this is a small percentage to argue that 100% should be built with > static libs. (And there is still the question whether those two would > really _need_ those static libs or it's just due to the deficiency of > the EXTRA_ECONF-method.) > > When I have time I will take a look on how some other distributions > handle this. What <most> other distributions (which are binary) do doesn't apply, because they aren't designed for the end-user to be constantly compiling stuff as is assumed on Gentoo. Most other distributions can (and probably do) split most libraries into main-package and -dev package, the -dev version containing headers and likely static versions of the libraries, while the dynamically linked binaries, config, etc, is in the main package. That makes no sense for an end-user compiled distribution, where if a library is installed, it's assumed it will be used, and to use it headers and the like must be installed as well. Statically linked library binaries won't always be needed, true, but IMO the same idea should apply -- they should be installed by default as it'll be impossible to link something statically against them if they aren't, and where end-user compiling must be assumed, it's entirely reasonable to assume those same end-users may wish some of those compilations to be statically built. Sure, if it's not too much of a hassle, give those users a USE flag (since we're talking per-package enabling), that can of course be set globally in make.conf if desired, and that defaults to installing static as well as dynamic for most profiles. Embedded may wish to disable it by default, and users may do so if desired, but in the general case, the static libs should be there by default just in case. However, if it's too much hassle, having both installed is the sane default, and there's certainly INSTALL_MASK for those such as embedded that might be tight-up on space or the required additional compiling resources. -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-30 3:07 ` Roman Zimmermann 2007-04-30 3:35 ` Marius Mauch @ 2007-04-30 19:00 ` Kevin F. Quinn 2007-05-01 7:28 ` Roman Zimmermann 1 sibling, 1 reply; 24+ messages in thread From: Kevin F. Quinn @ 2007-04-30 19:00 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1273 bytes --] On Mon, 30 Apr 2007 05:07:00 +0200 Roman Zimmermann <mereandor@gmail.com> wrote: > Am Montag 30 April 2007 00:11 schrieb Ciaran McCreesh: > > On Sun, 29 Apr 2007 14:56:57 -0700 > > > > Donnie Berkholz <dberkholz@gentoo.org> wrote: > > > Anyone who wants to build a static binary wants the static libs. > > > Given the difficulty in universally enabling or disabling their > > > builds because of build-system differences, building them and > > > tossing them in the trash with INSTALL_MASK, as Marius suggested, > > > seems like the best way to go. > > > > The best way to go or the only viable short term solution? Best way to go, IMO. > That's the point! Universally disabling static builds can't be a > longterm solution. The only sane way to do this is on a per ebuild > basis. The thing about static libraries, is that the ebuild that creates them doesn't know whether anything else will want to use them. It may be that in practice, most libraries are never used in their static form - but the point is that the ebuild doesn't know enough information to make the decision. However, with INSTALL_MASK, the user makes the decision never to have static binaries, and thus gets a system free of static libraries. -- Kevin F. Quinn [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-30 19:00 ` [gentoo-dev] " Kevin F. Quinn @ 2007-05-01 7:28 ` Roman Zimmermann 0 siblings, 0 replies; 24+ messages in thread From: Roman Zimmermann @ 2007-05-01 7:28 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1013 bytes --] Am Montag 30 April 2007 21:00 schrieb Kevin F. Quinn: > The thing about static libraries, is that the ebuild that creates them > doesn't know whether anything else will want to use them. It may be > that in practice, most libraries are never used in their static form - > but the point is that the ebuild doesn't know enough information to > make the decision. That's true for now, but it won't anymore when use dependencies are implemented. Then a corresponding useflag could be used to opt-in for static builds. > However, with INSTALL_MASK, the user makes the decision never to have > static binaries, and thus gets a system free of static libraries. Except the little detail that INSTALL_MASK definately breaks things. I tried it yesterday. The reason is that packages that build static libs (though --disable-static is set) will depend on other static libs. With INSTALL_MASK in place those static libs are never installed. Hence the build fails. So it is not a working option. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-04-29 21:50 ` Rémi Cardona 2007-04-29 21:56 ` Donnie Berkholz @ 2007-05-01 2:49 ` Peter Gordon 2007-05-01 5:16 ` Donnie Berkholz 2007-05-01 9:16 ` Radoslaw Stachowiak 1 sibling, 2 replies; 24+ messages in thread From: Peter Gordon @ 2007-05-01 2:49 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 2093 bytes --] On Sun, 2007-04-29 at 23:50 +0200, Rémi Cardona wrote: > Open Question part: > > Since I don't have any thing other than Gentoo : does anyone know how > other distros handle static libs in their -dev packages? Fedora's policy [1] is to only include static libraries when absolutely necessary, such as with libpci or other libraries that ship *only* static incarnations (though in these cases the packager is heavily encouraged to pester the upstream developer(s) about building a shared library as well); or for specific exceptions where full and satisfactory reason is given for the inclusion of static libraries (such as, perhaps, low-level rescue utilities like grub and others, though they generally then need to explicitly be in a foo-static subpackage when built). All such cases need to be approved by the Fedora Engineering Steering Committee (FESCo). > Does anyone care about static libs except for maybe really really low > level stuff? They are useful for rescue operations and whatnot, when a LiveCD or similar is not handy; or perhaps when the computer cannot boot from an alternative medium. That's the only major benefit I see of them. > My Opinion part: > > I'd definitely would like to see them leave my system for good as I have > no use for 99% of them whatsoever. ++ > Open Question part: > > Could some FEATURE disable static libs building by default in desktop > profiles, with some (like the 5 packages Roman pointed out) using > something like a RESTRICT? > Back when I used Gentoo (mid-2003 through Nov. 2005), I remember there being a "-static" flag that could be set. I don't remember if that was in FEATURES or USE though; and not all ebuilds honored it. :| Is there similar functionality in modern Portage? [1] http://fedoraproject.org/wiki/Packaging/Guidelines#StaticLibraries -- Peter Gordon (codergeek42) / FSF & EFF Member Gentoo Forums Global Moderator GnuPG Public Key ID: 0xFFC19479 / Fingerprint: DD68 A414 56BD 6368 D957 9666 4268 CB7A FFC1 9479 My Blog: http://thecodergeek.com/blog/ [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-05-01 2:49 ` Peter Gordon @ 2007-05-01 5:16 ` Donnie Berkholz 2007-05-01 9:16 ` Radoslaw Stachowiak 1 sibling, 0 replies; 24+ messages in thread From: Donnie Berkholz @ 2007-05-01 5:16 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 805 bytes --] Peter Gordon wrote: > Back when I used Gentoo (mid-2003 through Nov. 2005), I remember there > being a "-static" flag that could be set. I don't remember if that was > in FEATURES or USE though; and not all ebuilds honored it. :| Is there > similar functionality in modern Portage? As was explained elsewhere in this thread by Marius, that's not what the static flag controls. For your convenience: Marius Mauch wrote: > What decision? That USE=static shouldn't be used for (not) installing > static libraries is simply because the flag is used to control how > (parts of) a package should be linked and global flags > shouldn't be used for completely different purposes. That's been the > case since the beginning, so I doubt you'll find any dicussion about it. Thanks, Donnie [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] gentoo: static/dynamic linking libraries 2007-05-01 2:49 ` Peter Gordon 2007-05-01 5:16 ` Donnie Berkholz @ 2007-05-01 9:16 ` Radoslaw Stachowiak 1 sibling, 0 replies; 24+ messages in thread From: Radoslaw Stachowiak @ 2007-05-01 9:16 UTC (permalink / raw To: gentoo-dev On 01/05/07, Peter Gordon <codergeek42@gentoo.org> wrote: > > Does anyone care about static libs except for maybe really really low > > level stuff? > They are useful for rescue operations and whatnot, when a LiveCD or > similar is not handy; or perhaps when the computer cannot boot from an > alternative medium. That's the only major benefit I see of them. They are also very often used in chrooted environments. -- radoslaw. -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2007-05-01 9:19 UTC | newest] Thread overview: 24+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-04-29 8:32 [gentoo-dev] gentoo: static/dynamic linking libraries Roman Zimmermann 2007-04-29 8:54 ` Jakub Moc 2007-04-29 10:36 ` Ciaran McCreesh 2007-04-29 16:43 ` Roman Zimmermann 2007-04-29 17:50 ` Marius Mauch 2007-04-29 17:56 ` Ciaran McCreesh 2007-04-29 18:21 ` Roman Zimmermann 2007-04-29 18:46 ` paul kölle 2007-04-29 19:04 ` Roman Zimmermann 2007-04-29 19:31 ` Marius Mauch 2007-04-29 19:36 ` Ciaran McCreesh 2007-04-29 20:05 ` Olivier Crête 2007-04-29 21:50 ` Rémi Cardona 2007-04-29 21:56 ` Donnie Berkholz 2007-04-29 22:11 ` Ciaran McCreesh 2007-04-30 3:07 ` Roman Zimmermann 2007-04-30 3:35 ` Marius Mauch 2007-04-30 7:28 ` Roman Zimmermann 2007-04-30 8:49 ` [gentoo-dev] " Duncan 2007-04-30 19:00 ` [gentoo-dev] " Kevin F. Quinn 2007-05-01 7:28 ` Roman Zimmermann 2007-05-01 2:49 ` Peter Gordon 2007-05-01 5:16 ` Donnie Berkholz 2007-05-01 9:16 ` Radoslaw Stachowiak
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox