media-sound/audacity-1.3.6, the latest stable version, fails to build on amd64 with distcc enabled. Reproducible: Always Steps to Reproduce: 1. emerge =media-sound/audacity-1.3.6 on ARCH="amd64" with FEATURES="distcc" Actual Results: Build fails. The specific error is: cc -march=core2 -msse4.1 -O2 -pipe -I../sys -I../cmt cmdline.o intgen.o -o ./intgen /bin/sh ./libtool --mode=compile x86_64-pc-linux-gnu-gcc -c -I./include -I./src/common -I./src/os/unix -march=core2 -msse4.1 -O2 -pipe -DPA_LITTLE_ENDIAN -pthread -DPA CKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_SYS_SOUNDCARD_ H=1 -DHAVE_LINUX_SOUNDCARD_H=1 -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=8 -DHAVE_CLOCK_GETTIME=1 -DHAVE_NANOSLEEP=1 -DPA_USE_ALSA=1 -DPA_USE_OSS=1 src/common/pa_s keleton.c -o src/common/pa_skeleton.lo /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `intgen.o' is incompatible with i386:x86-64 output collect2: ld returned 1 exit status distcc[5703] ERROR: compile (null) on localhost failed make[2]: *** [intgen] Error 1 make[2]: Leaving directory `/var/tmp/portage/media-sound/audacity-1.3.6/work/audacity-src-1.3.6/lib-src/libnyquist/misc' make[1]: *** [libnyquist-recursive] Error 2 make[1]: *** Waiting for unfinished jobs.... Expected Results: emerge/build should complete successfully audacity-1.3.6 builds fine with distcc removed from FEATURES.
Created attachment 190195 [details] build.log build.log for media-sound/audacity-1.3.6
Created attachment 190197 [details] build environment enironment file for build of media-sound/audacity-1.3.6
Created attachment 190199 [details] emerge --info from building host emerge --info from the emerging host
i386 architecture of input file `intgen.o' is incompatible with i386:x86-64 output That is quite strange, and it looks like a user error - the compiler should not randomly decide to switch to 32 or 64 bit.
cc -march=core2 -msse4.1 -O2 -pipe -I../sys -I../cmt cmdline.o intgen.o -o ./intgen /bin/sh ./libtool --mode=compile x86_64-pc-linux-gnu-gcc -c -I./include -I./src/common -I./src/os/unix -march=core2 -msse4.1 -O2 -pipe -DPA_LITTLE_ENDIAN -pthread -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_SYS_SOUNDCARD_H=1 -DHAVE_LINUX_SOUNDCARD_H=1 -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=8 -DHAVE_CLOCK_GETTIME=1 -DHAVE_NANOSLEEP=1 -DPA_USE_ALSA=1 -DPA_USE_OSS=1 src/common/pa_skeleton.c -o src/common/pa_skeleton.lo /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `intgen.o' is incompatible with i386:x86-64 output collect2: ld returned 1 exit status At this point cc gets called instead of x86_64-pc-linux-gnu-gcc. distcc[5020] Warning: failed to distribute cmdline.c to 127.0.0.1, running locally instead The compilation were run only localy, Why would cc compile 32 bit objects? Maybe an old ccache, that does not get invalidated because it's called with cc? @reporter: Please fix your distcc and try again without ccache.
My last comment was a bit pointless since the bug is about using ccache. I'll assign it now, since this cc looks wrong there. May the maintainer decide if it's a valid bug.
(In reply to comment #5) > @reporter: Please fix your distcc and try again without ccache. please do