Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 268384

Summary: media-sound/audacity-1.3.6 (latest stable) fails to build with distcc enabled
Product: Gentoo Linux Reporter: Anarkakari <anarkakari>
Component: Current packagesAssignee: Professional Audio Applications Maintainers <proaudio>
Status: RESOLVED WORKSFORME    
Severity: normal CC: anarkakari, patrick, SebastianLuther
Priority: High    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log
build environment
emerge --info from building host

Description Anarkakari 2009-05-03 03:58:59 UTC
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.
Comment 1 Anarkakari 2009-05-03 04:00:55 UTC
Created attachment 190195 [details]
build.log

build.log for media-sound/audacity-1.3.6
Comment 2 Anarkakari 2009-05-03 04:01:43 UTC
Created attachment 190197 [details]
build environment

enironment file for build of media-sound/audacity-1.3.6
Comment 3 Anarkakari 2009-05-03 04:02:16 UTC
Created attachment 190199 [details]
emerge --info from building host

emerge --info from the emerging host
Comment 4 Patrick Lauer gentoo-dev 2009-05-05 20:43:23 UTC
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.
Comment 5 Sebastian Luther (few) 2009-05-11 15:59:32 UTC
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.

Comment 6 Sebastian Luther (few) 2009-05-14 21:10:32 UTC
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.
Comment 7 Alexis Ballier gentoo-dev 2009-12-05 09:19:57 UTC
(In reply to comment #5)
> @reporter: Please fix your distcc and try again without ccache.


please do