udev-079-r1 compilation fails under distcc. stopping distccd on the assistant boxes cures the problem. all machines have identical installations. here is the information from the machine on which the emerge is being performed: kaiser ~ # emerge --info Portage 2.0.54 (default-linux/x86/2005.1, gcc-3.4.5, glibc-2.3.6-r2, 2.6.14-gentoo-r5 i686) ================================================================= System uname: 2.6.14-gentoo-r5 i686 Pentium III (Coppermine) Gentoo Base System version 1.6.14 distcc 2.18.3 i586-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.3 [enabled] dev-lang/python: 2.3.5-r2, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1-r1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i586-pc-linux-gnu" CFLAGS="-march=pentium -pipe -O2 -fweb -frename-registers -fforce-addr -fomit-frame-pointer -ftracer" CHOST="i586-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium -pipe -O2 -fweb -frename-registers -fforce-addr -fomit-frame-pointer -ftracer -fvisibility-inlines-hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distcc distlocks sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://gentoo.osuosl.org http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://******/gentoo-portage" USE="x86 X alsa apm arts avi berkdb bitmap-fonts bzip2 crypt cups eds emboss encode expat foomaticdb fortran gdbm geoip gif gpm gstreamer gtk2 imlib ipv6 jpeg kde libg++ libwww mad mikmod motif mp3 mpeg ncurses nls nptl nptlonly ogg oggvorbis opengl oss pam pdflib perl png python quicktime readline sdl spell ssl tcpd truetype truetype-fonts type1-fonts udev vorbis xml2 xmms xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LINGUAS here is the error: >>> md5 src_uri ;-) udev-079.tar.bz2 >>> Unpacking source... >>> Unpacking udev-079.tar.bz2 to /var/tmp/portage/udev-079-r1/work >>> Source unpacked. /usr/bin/i586-pc-linux-gnu-ar Creating udev_version.h Compiling sysfs_class.c. i586-pc-linux-gnu-gcc -c -g -Wall -pipe -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -Wstrict-prototypes -Wsign-compare -Wshadow -Wchar-subscripts -Wmissing-decla rations -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -Wmissin g-prototypes -Os -I/var/tmp/portage/udev-079-r1/work/udev-079/libsysfs/sysfs -I/var/tmp/portage/udev-079-r1/work/udev-079/libsysfs -DUSE_LOG libsysfs/sysf s_class.c -o libsysfs/sysfs_class.o distcc[25479] ERROR: compile /var/tmp/ccache/sysfs_clas.tmp.kaiser.25475.i on todland failed with exit code 110 just to provide some context about this problem: this problem occurs half-way through an emerge -e system. the first 40-odd packages compiled with no problems, so i doubt its a problem with my distcc configuration. ;)
Try without these CFLAGS -fweb -frename-registers -fforce-addr -fomit-frame-pointer -ftracer -fweb Constructs webs as commonly used for register allocation purposes and assign each web individual pseudo register. This allows the register allocation pass to operate on pseudos directly, but also strengthens several other optimization passes, such as CSE, loop optimizer and trivial dead code remover. It can, however, make debugging impossible, since variables will no longer stay in a ``home register''. -frename-registers Attempt to avoid false dependencies in scheduled code by making use of registers left over after register allocation. This optimiza- tion will most benefit processors with lots of registers. It can, however, make debugging impossible, since variables will no longer stay in a ``home register''. -fomit-frame-pointer Don't keep the frame pointer in a register for functions that don't need one. This avoids the instructions to save, set up and restore frame pointers; it also makes an extra register available in many functions. It also makes debugging impossible on some machines. On some machines, such as the VAX, this flag has no effect, because the standard calling sequence automatically handles the frame pointer and nothing is saved by pretending it doesn't exist. The machine-description macro "FRAME_POINTER_REQUIRED" controls whether a target machine supports this flag.
Yes, with the "default" cflags, this works just fine for me.
Closing, as this looks like user error...