Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 38750 - kde 3.1.5 ebuilds do not use distcc
Summary: kde 3.1.5 ebuilds do not use distcc
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: All Linux
: High minor
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-01-19 12:55 UTC by Paul Pacheco
Modified: 2004-03-16 05:30 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Pacheco 2004-01-19 12:55:19 UTC
I am trying to emerge kde 3.1.5 using distcc.
in my make.conf file, I have:

...
MAKEOPTS="-j9"
...
FEATURES="ccache buildpkg distcc"
...

This works for most ebuilds, and it uses all 8 cpu's that are available on my network. 

However, the kde ebuilds do not use distcc

top and ps show that only one gcc process is being called at a time.
It seems the make is not being called with -j9.

If you see the output from the ps command (down), make is being run as:
make -j9 -j1 -j1 -j1

so it is overriding my -j9 switch. I think it should work if you removed the -j1 -j1 -j1


Reproducible: Always
Steps to Reproduce:
1. emerge kde
and on another shell
2. DISTCC_DIR=/var/tmp/portage/.distcc distccmon-text 2

Actual Results:  
root@spike:~> DISTCC_DIR=/var/tmp/portage/.distcc distccmon-text 2 
 
31212  Compile     kpoti_impl.tmp.spike.wavecode.                localhost[0] 
  
31371  Compile                                                   localhost[0] 
 
31378  Compile     kpoti.tmp.spike.wavecode.com.3                localhost[0] 
... 
 
root@spike:~> ps u 
USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND 
root      5695  0.0  0.0  1544  492 tty1     S    Jan14   0:00 /sbin/agetty 
38400 tty1 linux 
root      5696  0.0  0.0  1544  484 tty2     S    Jan14   0:00 /sbin/agetty 
38400 tty2 linux 
root      5697  0.0  0.0  1544  484 tty3     S    Jan14   0:00 /sbin/agetty 
38400 tty3 linux 
root      5698  0.0  0.0  1544  484 tty4     S    Jan14   0:00 /sbin/agetty 
38400 tty4 linux 
root      5699  0.0  0.0  1544  484 tty5     S    Jan14   0:00 /sbin/agetty 
38400 tty5 linux 
root      5700  0.0  0.0  1544  484 tty6     S    Jan14   0:00 /sbin/agetty 
38400 tty6 linux 
root     25081  0.0  0.0  2416  580 pts/5    S    Jan16   0:00 su - 
root     25084  0.0  0.1  2388 1184 pts/5    S    Jan16   0:00 -bash 
root     14113  0.0  0.1  2416 1052 pts/3    S    14:08   0:00 su - 
root     14122  0.0  0.1  2384 1344 pts/3    S    14:08   0:00 -bash 
root     31024  0.0  0.0  1488  396 pts/5    S    14:20   0:00 xargs emerge -u 
--oneshot 
root     31040  0.7  1.1 14836 12076 pts/5   SN   14:20   0:12 /usr/bin/python 
root     31579  0.0  0.0  1520  416 pts/5    SN   14:20   0:00 
[kdemultimedia-3.1.5] sandbox /usr/sbin/ebuild.sh compile 
root     31580  0.0  0.1  2768 1708 pts/5    SN   14:20   
0:00 /bin/bash /usr/sbin/ebuild.sh compile 
root      9828  0.0  0.1  2248 1120 pts/5    SN   14:24   
0:00 /bin/bash /usr/lib/portage/bin/emake 
root      9829  0.0  0.0  2252  988 pts/5    SN   14:24   0:00 make -j9 -j1 -j1 
-j1 
root      9978  0.0  0.0  2252 1000 pts/5    SN   14:24   0:00 make 
all-recursive 
root      9983  0.0  0.1  2224 1064 pts/5    SN   14:24   0:00 /bin/sh -c set 
fnord $MAKEFLAGS; amf=$2;  dot_seen=no;  target=`echo all-recursive | sed 
s/-recu 
root     13992  0.0  0.1  2224 1072 pts/5    SN   14:25   0:00 /bin/sh -c set 
fnord $MAKEFLAGS; amf=$2;  dot_seen=no;  target=`echo all-recursive | sed 
s/-recu 
root     13993  0.0  0.0  2252  996 pts/5    SN   14:25   0:00 make all 
root     13994  0.0  0.1  2224 1064 pts/5    SN   14:25   0:00 /bin/sh -c set 
fnord $MAKEFLAGS; amf=$2;  dot_seen=no;  target=`echo all-recursive | sed 
s/-recu 
root     28496  0.0  0.1  2416 1052 pts/4    S    14:30   0:00 su - 
root     28505  0.0  0.1  2388 1308 pts/4    S    14:30   0:00 -bash 
root     31249  0.0  0.0  1772  616 pts/4    S    14:31   0:00 distccmon-text 2 
root     18473  0.0  0.1  2224 1072 pts/5    SN   14:49   0:00 /bin/sh -c set 
fnord $MAKEFLAGS; amf=$2;  dot_seen=no;  target=`echo all-recursive | sed 
s/-recu 
root     18474  0.0  0.0  2252 1000 pts/5    SN   14:49   0:00 make all 
root     18872  0.0  0.1  2416 1052 pts/2    S    14:50   0:00 su - 
root     18885  0.0  0.1  2384 1316 pts/2    S    14:50   0:00 -bash 
root     19086  0.0  0.1  2916 1828 pts/5    SN   14:51   
0:03 /bin/sh ../../libtool --silent --mode=link --tag=CXX g++ -DNDEBUG 
-DNO_DEBUG -O2 -O2 -march=pent 
root     20912  0.0  0.0  1916  560 pts/5    SN   14:51   
0:00 /usr/lib/distcc/bin/g++ -DNDEBUG -DNO_DEBUG -O2 -O2 -march=pentium3 -pipe 
-mmmx -fstack-protecto 
root     20913  0.0  0.0  1636  608 pts/5    SN   14:51   
0:00 /usr/i686-pc-linux-gnu/gcc-bin/3.3/g++ -DNDEBUG -DNO_DEBUG -O2 -O2 
-march=pentium3 -pipe -mmmx - 
root     20914  0.0  0.0  1728  612 pts/5    SN   14:51   
0:00 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/collect2 --eh-frame-hdr -m 
elf_i386 -dynamic-linker /li 
root     20915  0.0  1.8 21512 18840 pts/5   RN   14:51   
0:09 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../../i686-pc-linux-gnu/bin/ld 
--eh-frame-hdr -m 
root     20979  0.0  0.0  2488  836 pts/2    R    14:51   0:00 ps u 
 

Expected Results:  
Expect up to 9 g++ proccess running and being distributed between the machines 
on my network with distcc. 

root@spike:~> emerge info 
Portage 2.0.50_pre16 (default-x86-1.4, gcc-3.3.2, 
glibc-2.3.3_pre20031222-r0,2.3.3_pre20040117-r0, 2.6.1-gentoo) 
================================================================= 
System uname: 2.6.1-gentoo i686 Pentium III (Coppermine) 
Gentoo Base System version 1.4.3.12 
distcc 2.12.1 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) 
[enabled] 
ccache version 2.3 [enabled] 
Autoconf: sys-devel/autoconf-2.59 
Automake: sys-devel/automake-1.7.8 
ACCEPT_KEYWORDS="x86 ~x86" 
AUTOCLEAN="yes" 
CFLAGS="-O3 -march=pentium3 -pipe -mmmx -fstack-protector" 
CHOST="i686-pc-linux-gnu" 
COMPILER="gcc3" 
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/qmail/control" 
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" 
CXXFLAGS="-O3 -march=pentium3 -pipe -mmmx -fstack-protector" 
DISTDIR="/usr/portage/distfiles" 
FEATURES="autoaddcvs buildpkg ccache distcc sandbox" 
GENTOO_MIRRORS="http://gentoo.oregonstate.edu 
http://distro.ibiblio.org/pub/Linux/distributions/gentoo" 
MAKEOPTS="-j9" 
PKGDIR="/usr/portage/packages" 
PORTAGE_TMPDIR="/var/tmp" 
PORTDIR="/usr/portage" 
PORTDIR_OVERLAY="/usr/local/portage" 
SYNC="rsync://rsync.gentoo.org/gentoo-portage" 
USE="X X509 acpi acpi4linux alsa amd apache2 apm arts artswrappersuid autofs 
avi berkdb composite crypt cups directfb dnd doc dvd emacs encode esd fbcon 
foomaticdb gd gd-external gdbm gif gpm imagemagick imlib java jbig jpeg kde 
lcms libg++ libwww mad mikmod motif mozilla mozsvg mpeg music mysql ncurses nls 
oci8 odbc oggvorbis opengl oss pam pdflib perl php pic png python qt quicktime 
radeon rage128 readline samba sdl slang spell sse ssl svga tcltk tcpd tetex 
tiff truetype type1 usb wmf wxwindows x86 xml2 xmms xv xvid zlib"
Comment 1 Paul Pacheco 2004-01-19 13:02:39 UTC
looking at the ebuild, it seems it was made on purpouse:

...
# make -j2 fails, at least on ppc
export MAKEOPTS="$MAKEOPTS -j1"
...

This is anoying, but if it fails to compile it is worse, ohh well.

I would love for this to be fixed as it is really painfull to compile kde with just one cpu.
Comment 2 Caleb Tennis (RETIRED) gentoo-dev 2004-01-19 15:03:02 UTC
This may be the case with a certain ebuild, but not all of the kde ebuilds, particularly the larger ones like kdelibs and kdebase.  I distribute them just fine.
Comment 3 Caleb Tennis (RETIRED) gentoo-dev 2004-03-16 05:30:24 UTC
They all use distcc - some had set makeopts to -j1, but those are fixed or should be fixed.