When I try to emerge aspell and have distcc enabled, it fails with the errors below. If I use FEATURES="-distcc" emerge aspell, it works fine. /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:156: error: `_M_start' was not declared in this scope /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:156: error: there are no arguments to `_M_allocate' that depend on a template parameter, so a declaration of `_M_allocate' must be available /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:156: error: (if you use `-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:157: error: `_M_finish' was not declared in this scope /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:158: error: `_M_end_of_storage' was not declared in this scope /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h: In destructor `std::_Vector_base<_Tp, _Alloc>::~_Vector_base()': /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:162: error: `_M_start' was not declared in this scope /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:162: error: `_M_end_of_storage' was not declared in this scope /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:162: error: there are no arguments to `_M_deallocate' that depend on a template parameter, so a declaration of `_M_deallocate' must be available distcc[15902] ERROR: compile string_list.cpp on 192.168.115.10 failed make[2]: *** [string_list.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I. -march=athlon-xp -msse2 -O2 -pipe -MT posib_err.lo -MD -MP -MF .deps/posib_err.Tpo -c posib_err.cpp -fPIC -DPIC -o .libs/posib_err.o i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I. -march=athlon-xp -msse2 -O2 -pipe -MT errors.lo -MD -MP -MF .deps/errors.Tpo -c errors.cpp -fPIC -DPIC -o .libs/errors.o make[2]: Leaving directory `/var/tmp/portage/aspell-0.50.5-r4/work/aspell-0.50.5/common' make[1]: *** [all] Error 2 make[1]: Leaving directory `/var/tmp/portage/aspell-0.50.5-r4/work/aspell-0.50.5/common' make: *** [all-recursive] Error 1 !!! ERROR: app-text/aspell-0.50.5-r4 failed. !!! Function src_compile, Line 39, Exitcode 2 emerge --info: Portage 2.0.54 (default-linux/x86/2006.0, gcc-3.3.5-20050130, glibc-2.3.4.20041102-r1, 2.6.15-gentoo-r1 i686) ================================================================= System uname: 2.6.15-gentoo-r1 i686 AMD Opteron(tm) Processor 850 Gentoo Base System version 1.6.13 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [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.5 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -msse2 -O2 -pipe" CHOST="i686-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/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -msse2 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distcc distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://mirror.pudas.net/gentoo http://ds.thn.htu.se/linux/gentoo" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 apache2 apm avi berkdb bitmap-fonts bzip2 crypt eds emboss expat fortran gdbm gif gpm imlib ipv6 jpeg libg++ libwww mysql ncurses nls nptl pam pcre pdflib perl png python readline sdl spell ssl tcpd truetype-fonts type1-fonts udev xml xmms xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Can you do distcc-config --set-verbose 1 and post the output where this fails please?
(In reply to comment #1) I now did: distcc-config --set-verbose 1 source /etc/profile emerge aspell Below are the errors. I should tell you that distccd is running on a ppc-machine with crossdev installed for i686. In file included from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/vector:71, from vector.hpp:10, from config.hpp:14, from info.cpp:22: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h: In constructor `std::_Vector_base<_Tp, _Alloc>::_Vector_base(size_t, const typename std::_Vector_alloc_base<_Tp, _Alloc, std::_Alloc_traits<_Tp,_Allocator>::_S_instanceless>::allocator_type&)': /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:156: error: `_M_start' was not declared in this scope /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:156: error: there are no arguments to `_M_allocate' that depend on a template parameter, so a declaration of `_M_allocate' must be available /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:156: error: (if you use `-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:157: error: `_M_finish' was not declared in this scope /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:158: error: `_M_end_of_storage' was not declared in this scope /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h: In destructor `std::_Vector_base<_Tp, _Alloc>::~_Vector_base()': /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:162: error: `_M_start' was not declared in this scope /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:162: error: `_M_end_of_storage' was not declared in this scope /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:162: error: there are no arguments to `_M_deallocate' that depend on a template parameter, so a declaration of `_M_deallocate' must be available distcc[25403] ERROR: compile info.cpp on 192.168.115.10 failed make[2]: *** [info.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/vector:71, from vector.hpp:10, from char_vector.hpp:10, from tokenizer.hpp:10, from tokenizer.cpp:7: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h: In constructor `std::_Vector_base<_Tp, _Alloc>::_Vector_base(size_t, const typename std::_Vector_alloc_base<_Tp, _Alloc, std::_Alloc_traits<_Tp,_Allocator>::_S_instanceless>::allocator_type&)': /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:156: error: `_M_start' was not declared in this scope /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:156: error: there are no arguments to `_M_allocate' that depend on a template parameter, so a declaration of `_M_allocate' must be available /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:156: error: (if you use `-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:157: error: `_M_finish' was not declared in this scope /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:158: error: `_M_end_of_storage' was not declared in this scope /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h: In destructor `std::_Vector_base<_Tp, _Alloc>::~_Vector_base()': /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:162: error: `_M_start' was not declared in this scope /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:162: error: `_M_end_of_storage' was not declared in this scope /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/include/g++-v3/bits/stl_vector.h:162: error: there are no arguments to `_M_deallocate' that depend on a template parameter, so a declaration of `_M_deallocate' must be available distcc[25497] ERROR: compile tokenizer.cpp on 192.168.115.10 failed make[2]: *** [tokenizer.lo] Error 1 make[1]: *** [all] Error 2 make: *** [all-recursive] Error 1 !!! ERROR: app-text/aspell-0.50.5-r4 failed. !!! Function src_compile, Line 39, Exitcode 2
Try without a crosscompiler. I don't know how Distcc will behave with a crosscompiler.
(In reply to comment #3) I've now tried without crosscompilers using two ppc machines as well as two i686 machines. Compiling using two ppc machines actually worked fine. When I compile using two i686 machines, the following errors occur: In file included from /usr/include/math.h:382, from /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:52, from primes.cpp:14: /usr/include/bits/mathinline.h: In function `long double __atan2l(long double, long double)': /usr/include/bits/mathinline.h:433: error: `__builtin_atan2l' undeclared (first use this function) /usr/include/bits/mathinline.h:433: error: (Each undeclared identifier is reported only once for each function it appears in.) In file included from primes.cpp:14: /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `float std::acos(float)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:103: error: ` __builtin_acosf' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `long double std::acos(long double)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:107: error: ` __builtin_acosl' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `float std::asin(float)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:120: error: ` __builtin_asinf' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `long double std::asin(long double)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:124: error: ` __builtin_asinl' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `float std::atan(float)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:135: error: ` __builtin_atanf' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `long double std::atan(long double)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:139: error: ` __builtin_atanl' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `float std::atan2(float, float)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:150: error: ` __builtin_atan2f' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `long double std::atan2(long double, long double)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:154: error: ` __builtin_atan2l' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `float std::ceil(float)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:166: error: ` __builtin_ceilf' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `long double std::ceil(long double)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:170: error: ` __builtin_ceill' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `float std::cosh(float)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:196: error: ` __builtin_coshf' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `long double std::cosh(long double)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:200: error: ` __builtin_coshl' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `float std::floor(float)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:241: error: ` __builtin_floorf' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `long double std::floor(long double)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:245: error: ` __builtin_floorl' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `float std::fmod(float, float)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:256: error: ` __builtin_fmodf' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `long double std::fmod(long double, long double)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:260: error: ` __builtin_fmodl' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `float std::frexp(float, int*)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:266: error: ` __builtin_frexpf' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `long double std::frexp(long double, int*)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:270: error: ` __builtin_frexpl' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `float std::ldexp(float, int)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:281: error: ` __builtin_ldexpf' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `long double std::ldexp(long double, int)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:285: error: ` __builtin_ldexpl' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `float std::log10(float)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:311: error: ` __builtin_log10f' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `long double std::log10(long double)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:315: error: ` __builtin_log10l' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `float std::modf(float, float*)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:326: error: ` __builtin_modff' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `long double std::modf(long double, long double*)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:330: error: ` __builtin_modfl' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `float std::pow(float, float)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:345: error: ` __builtin_powf' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `long double std::pow(long double, long double)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:349: error: ` __builtin_powl' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `float std::sinh(float)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:382: error: ` __builtin_sinhf' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `long double std::sinh(long double)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:386: error: ` __builtin_sinhl' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `float std::tan(float)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:412: error: ` __builtin_tanf' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `long double std::tan(long double)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:416: error: ` __builtin_tanl' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `float std::tanh(float)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:427: error: ` __builtin_tanhf' undeclared (first use this function) /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath: In function `long double std::tanh(long double)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3/cmath:431: error: ` __builtin_tanhl' undeclared (first use this function) distcc[11606] ERROR: compile primes.cpp on test4.dev.netlog.se failed make[3]: *** [primes.lo] Error 1 make[3]: *** Waiting for unfinished jobs.... In file included from /usr/include/math.h:382, from vector_hash-t.hpp:16, from readonly_ws.cpp:81: /usr/include/bits/mathinline.h: In function `long double __atan2l(long double, long double)': /usr/include/bits/mathinline.h:433: error: `__builtin_atan2l' undeclared (first use this function) /usr/include/bits/mathinline.h:433: error: (Each undeclared identifier is reported only once for each function it appears in.) distcc[11653] ERROR: compile readonly_ws.cpp on test4.dev.netlog.se failed make[3]: *** [readonly_ws.lo] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all-recursive] Error 1 !!! ERROR: app-text/aspell-0.50.5-r4 failed. !!! Function src_compile, Line 39, Exitcode 2
I got this bug when the machines involved in the distcc had different versions of gcc (namely gcc 3.3 and gcc 3.4).
This is not a bug; it is down to incompatibilities between the stdc++ libraries supplied with gcc-3.3 and gcc-3.4. You _cannot_ build part of an application with one version of a compiler, part with a different version, and expect it to work (it might, but it's certainly not guaranteed). Re-open if it occurs when all gcc versions are _exactly_ the same.