Volker Armin Hemmann wrote: > On Sonntag 14 Februar 2010, Enrico Weigelt wrote: >> Volker Armin Hemmann wrote: >>> no, but with static exes you have to recompile everything >>> everytime a security bug is found. >> That's the job of the distro buildsystem. Ah, and that dramatically >> minimizes the chance that things break apart (i still remember >> the old times when libc updates tended to be dangerous). > > and even better - just introduce a single patch/updated package and > everything > is fine. What you are describing is maybe nice with gentoo. But a nightmare > if > you want something stable. Recompiling everything is not an option.
hmm, you consider Gentoo unstable ? ;-o > Why do you think the whole industry went away from static - except for tiny > embedded devices? Is that so ? Then, why are so many closed-source applications statically linked ? > no, under the axiom of sharable code. The size of a lib is not really > important - except if you use everything. But if you compile in > everything the lib does on a static basis, all your binaries are > huge and bloated. Yes, lazy page-loading, any maybe even lazy evaluation (uuh, tricky!), but this also comes with costs. Rethink the idea of tiny libraries: there's much more that can be reused. There're always not just reasons for choosing some particular library, but also ones for NOT choosing it. For example, imagine some app where a few of glib's functions would be useful, but there're other big arguments against it (eg. resource consumption, unstable API, etc). So we have to find that stuff we could have used somewhere else, or write it on our own. The major problem w/ these big libraries is that they're highly redundant from a function viewpoint. Why do we need dozens of libraries which all define such common ADTs like linked-lists, polygons, etc, etc, etc on their own ? Why can't they just all reuse other, small libraries ? At this point, I'm very much a Prof.Wirth's side: have one module per ADT, which only does that thing right, but nothing more. Don't forget that this is far beyond runtime memory consumtion. Memory is quite cheap today. But developer's manpower is not. When I review all the OSS projects (yes, commercial ones tend to be even worse) I've been involved in the last 15 years, I'd count at least 30% is completely redundant, completely useless spent resources. Just because bad design decisions. Just ask around the gentoo-devs how much time they spent into things like slotting, complex dependencies (conflicts, circular deps, ...), etc, etc. that's all caused by reallybad design decisions coming from the upstream. With clean sw design you'd never ever had to waste a single second on it. cu -- ---------------------------------------------------------------------- Enrico Weigelt, metux IT service -- http://www.metux.de/ cellphone: +49 174 7066481 email: i...@metux.de skype: nekrad666 ---------------------------------------------------------------------- Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme ----------------------------------------------------------------------