The only reason I compile from source is because I'm a stubborn, eccentric control-freak. I wouldn't expect normal people to have any inclination for it. Dealing with compilation errors and ./configure options can get tedious - and it's time-consuming.

Is that really true? It'll thrash for a very long time, making very slow progress, but it will eventually complete, given enough swap. At least that's been my experience. Has something changed?

I think it changed about version 19 or so. Maybe you do not have the problem if your compiler is not able to produce LTO because IIRC this is automatically added if supported by the compiler. (Although I am not completely sure about the latter in the moment - I would have to check).

I added 16GB of swap, and linker always died with either segfault or out-of-memory error. (On my "big" machine, I have 2GB with 8GB of swap, and compiling firefox parallel to some other package in a chroot on essentially the same remaining system is not a problem - so it is really only an issue of RAM).

I do not remember whether I tried playing around with CFLAGS and LDFLAGS, but I think I already tried "sane" flags. (Normally I use e.g. -Wl,-O1 and some aggressive CFLAGS which perhaps require too much RAM in the LTO phase).

PaulBredbury wrote:

--reduce-memory-overheads

Thanks for pointing out, I will probably try next time although I am not sure how this combines with lto...
Currently, it is not really an issue for me since I just use the "big" (2GB RAM) machine to build a binary pacakge.

Gentoo is the only reason I continue to use my old 1.2 GHz AMD Thunderbird machine. I think it would be hard to get a reasonable prformance with anything else. I have stopped building on it though, and use a newer 4-core 8 Gb machine to do package builds for it, that can then be installed as binary over my home network.

I also install custom ROMs on my old Android phone, so my old phone is now running the latest Android OS. I wouldn't dream of building that from scratch though.

Its to do with interest I think. I am marginally more interested in building the details of my laptops and desktop machines to my phone. So I think Gentoo will always be for enthusiasts, or for businesses that want to control what goes in their servers to a high degree. Dont think there will be many of those either, the company I work for is happy with Centos Linux.

Is that really true? It'll thrash for a very long time, making very slow progress, but it will eventually complete, given enough swap. At least that's been my experience. Has something changed?

I think it changed about version 19 or so. Maybe you do not have the problem if your compiler is not able to produce LTO because IIRC this is automatically added if supported by the compiler. (Although I am not completely sure about the latter in the moment - I would have to check).

Had to remove a DIMM to try this but firefox-21.0 built successfully with 1GiB of RAM and 4 GiB of swap under gcc-4.6.4 with the following flags:

This diverged into a what can compile discussion. Should I be reading between the lines there???

Thanks rbr28 for your response. Your bent seems to align with the prevailing attitude among many of the cogs-in-the-wheel I deal with on a daily basis. If I may, it is an insidious trap!

Quote:

First, asking this question is at least similar to asking why everyone doesn't build their own house, why everyone doesn't repair their own car, why everyone doesn't do their own electrical or plumbing work, why everyone isn't an expert on every item they ever use...it just doesn't make much sense. Every day you have to make decisions about what you want to spend your time learning about or doing and the fact that some people choose not to know about their computer and not spend time (many would say waste their time) building or configuring it is understandable.

Specialization IS the key to advanced technologies in society. To that end, the truly skilled and honest SHOULD be paid to do what they do. But as I mentioned in this thread, the basis for any economy is Caveat Emptor. One should know enough about everything that he has paid for to be in his house to supervise the work. Time is the major factor to be multiplied, not skill.

As for kernel development, there are many vectors that just plain did not exist five years ago. udev and device management are really want a user level challenge! This largely follows the trends in computer science though. If I have a cookie cutter task, I look for a machine, not a person. An IT guy has to be able to troubleshoot! Oh! and Windows faces the same issues. If you plan on staying in this field more than a year, you will be subject to an architecture change. UEFI boot anyone?

We can talk about relative skill levels. I will even agree that Gentoo users are clearly in the cream of that measure. One does not last 20 years in a job without self motivated learning. Which is to say that skill sets grow. So how does that get us closer to broadening the Gentoo user base?

I think the value of getting firefox to run on old hardware is a huge add for Gentoo. That is not something for the first time Gentoo installer. Maybe a second time installer with a spare box. I would rather relegate that old hardware to something more mundane. I am not putting X on a PIII.

I certainly think the flexibility of Gentoo makes it an obvious choice for filling in gaps, and extending the useful life of machines. But the major add is the demonstration of how source code becomes a system.

I usually run more tests on a server than can be completed in a week. For this to occur, I need to delay my --sync jobs, for months. Once you get above 10 packages, "world" and "system" are more trouble than they are worth. For these, I usually build six packages at a time (give or take). It can take all day, but there are spaces in there where you can put out a fire or two. In this fashion, I limit the possibilities for troubled ebuilds. This also informs the follow on updates!_________________Persistance Pays

I think what’s hitting Gentoo are the compile times it incurs, even when they would not be necessary. Those put people off, because they cannot get a program they need *right now*.

In 2006 I wrote a bugreport with a wish for being able to separate binpackages by useflags, which would have allowed us to have build servers for heterogenous environments. The discussion progressed far enough, that the only part needed was realizing it in code - and parts of that code were already written, though only outside of portage. At that time I was not able to program well enough to realize this. Now I do not have the time anymore. But in case anyone wants to take a shot:

Realizing those two parts would be enough to have transparent binpackage support for heterogenous sets of useflags and machines, as long as updating a library triggers a rebuild (which is now the default in portage), because that rebuild gets rid of unseen binary dependencies. You might have to add "--with-build-depends y" to your EMERGE_DEFAULT_OPTS to get this safe. But due to that, all the infrastructure should be in place._________________Being unpolitical means being political without realizing it. - Arne Babenhauserheide ( http://draketo.de )