On 06/17/2010 05:23 PM, Walter Dnes wrote: > On Thu, Jun 17, 2010 at 08:02:25AM -0700, Bill Longman wrote >> On 06/16/2010 05:33 PM, walt wrote: >>> On 06/16/2010 02:29 PM, Thomas Revell wrote: >>>> Hi everyone, >>>> >>>> I've got a bit of a problem with a new Gentoo install that I'm currently >>>> trying to install KDE on. The installation of kdebase/kfilereplace-4.3.5 >>>> is failing, apparently due to a missing header file in its sources. >>> >>> <snip> >>>> [ 11%] [34m[1mGenerating koptionsdlgs.h >>> <snip> >>>> [0mmoc: >>>> /var/tmp/portage/kde-base/kfilereplace-4.3.5/work/kfilereplace-4.3.5_build/kfilereplace/koptionsdlgs.h: >>>> >>>> No such file >>> >>> I have no idea what's going wrong, but I'm willing to make suggestions >>> anyway :) >> >> I have no better suggestion than to change your ricer CFLAGS and see if >> "-O2 -pipe -march=core2" works first. Especially since you have: >> >> "-mno-align-stringops -minline-stringops-dynamically" >> >> and kfilereplace.cpp:37 warns about QStringList& and further along, it >> creates kaddstringdlgs.h. >> >> BTW, -march=core2 implies -mmmx -msse -msse2 and -msse3 (and -mssse3). > > Even better is "-march=native", and let the compiler figure out what > features are available/safe. I use the following... > > CFLAGS="-O2 -march=native -mfpmath=sse -fomit-frame-pointer -pipe" > > If you're building 64-bit Gentoo, the "-mfpmath=sse" gets picked up by > "-march=native" and you can drop the explicit mention. > > And you wouldn't believe how many weird build problems are solved by... > > MAKEOPTS="-j1" > > ...even on multi-core cpus. The *BUILD PROCESS* is a bit slower, but > the final binary is identical with -j8 or whatever. And the time you > "save" by a faster build in a tty will be lost the first time you start > bashing your head into a brick wall over some weird build problem. >
Exactly. And the same with distcc. If you do not use --keep-going, you'll likely see that long compile end abruptly. My typical modus operandii is to use distcc, then compile locally, then just use -j1 locally. You get there but you have to be willing to babysit it. For example, I just upgraded two of my VMs to gcc 4.4 so I will recompile "-qe world" on them. Since it's the weekend, I'll just turn off distcc and let them run -j1. When I come back on Monday, I expect to see a sparkling clean and shiny new Gentoo VM. Well, I can at least hope! I'll probably run out of inodes or something....