Using distcc/cross compiler, I'm getting errors compiling mythtv - it compiles fine without distcc. /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h:88: error: weakref 'int __gthrw_pthread_once(pthread_once_t*, void (*)())' must have static linkage /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h:89: error: weakref 'void* __gthrw_pthread_getspecific(pthread_key_t)' must have static linkage /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h:90: error: weakref 'int __gthrw_pthread_setspecific(pthread_key_t, const void*)' must have static linkage /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h:91: error: weakref 'int __gthrw_pthread_create(pthread_t*, const pthread_attr_t*, void* (*)(void*), void*)' must have static linkage /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h:92: error: weakref 'int __gthrw_pthread_cancel(pthread_t)' must have static linkage /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h:93: error: weakref 'int __gthrw_pthread_mutex_lock(pthread_mutex_t*)' must have static linkage /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h:94: error: weakref 'int __gthrw_pthread_mutex_trylock(pthread_mutex_t*)' must have static linkage /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h:95: error: weakref 'int __gthrw_pthread_mutex_unlock(pthread_mutex_t*)' must have static linkage /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h:96: error: weakref 'int __gthrw_pthread_mutex_init(pthread_mutex_t*, const pthread_mutexattr_t*)' must have static linkage /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h:99: error: weakref 'int __gthrw_pthread_key_create(pthread_key_t*, void (*)(void*))' must have static linkage /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h:100: error: weakref 'int __gthrw_pthread_key_delete(pthread_key_t)' must have static linkage /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h:101: error: weakref 'int __gthrw_pthread_mutexattr_init(pthread_mutexattr_t*)' must have static linkage /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h:102: error: weakref 'int __gthrw_pthread_mutexattr_settype(pthread_mutexattr_t*, int)' must have static linkage /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4/i686-pc-linux-gnu/bits/gthr-default.h:103: error: weakref 'int __gthrw_pthread_mutexattr_destroy(pthread_mutexattr_t*)' must have static linkage distcc[20849] ERROR: compile FIFOSampleBuffer.cpp on mercea failed make[2]: *** [FIFOSampleBuffer.o] Error 1 the remote machine is a x86_64 AMD, the local machine is i686. Cross-compiling with distcc is new to me, but I've successfully built a few other packages so I'm pretty sure its installed correctly. Reproducible: Didn't try Steps to Reproduce: 1. configure distcc for portage 2. emerge mythtv 3.
Took me a little bit to get a setup going for this... did you have the same versions of gcc available on both machines? C++ code is very moody about this where as C code is not. Can you post the emerge --info from both machines?
Its been a while since I submitted this.... I may have had the cross-compiler versions mismatched, but I don't think so - however, the latest mythtv (-0.21_p18314) emerged fine for me using distcc. This can probably be closed, as "user error" or "fixed since last March". Thanks.
What Scott said..