[distcc] Re: Problems compiling some software with distcc
Martin Pool
mbp at samba.org
Mon May 26 06:15:31 GMT 2003
On 26 May 2003, Dag Wieers <dag at wieers.com> wrote:
> Hi Martin,
>
> I've not seen any replies on my bugreports I've send for several
> software packages. And I don't know how to debug this.
Sorry, your 300k mail was a bit intimidating. :-) (I do appreciate
thorough reports, but it looked like it would take a while.)
I've just tried building Twin on Debian Sid across distcc 2.5cvs and
gcc 3.2, and Twin seems to work with -j1.
The problems seem to be due to missing dependencies in the Makefiles.
In other words, bugs in Twin. These are not evident in a local or -j1
build, because there are enough dependencies to make the build happen
in the order the author requires. However, with high -j values with
distcc or indeed a big SMP box the build will fail.
You need to either fix the makefile and send patches to the author, or
not use -j when building these packages.
> Despite the fact that most (more than 300) packages I build have no
> problems building with distcc, there are some packages that have weird
> problems as already mentioned.
>
> I now took a simple example and tried to compile it and wrote down the
> different errors I get. These errors differ from build to build (although
> the setup hasn't changed).
>
> The tests were done by compiling 'twin' (one of a dozen troubling packages).
>
> Here's what I wrote down:
>
> On RH90:
> bison -d --no-lines -o rcparse_tab.h rcparse.y
> rcparse.y:330: fatal error: header and parser would both be named `rcparse_tab.h'
> make[1]: *** [rcparse_tab.h] Error 1
> Or:
> ../../scripts/Getsizes > ../../include/Tw/datasizes.h
> /bin/sh: line 1: ../../scripts/Getsizes: Permission denied
> make[2]: *** [../../include/Tw/datasizes.h] Error 126
> Or:
> /bin/sh: line 1: ../../scripts/Mkdep: Text file busy
> make[2]: *** [.depend] Error 126
> Or:
> i386-redhat-linux-gcc-3.2.2 -fPIC -D_GNU_SOURCE -D_REENTRANT -I../../include -O2 -march=i386 -mcpu=i686 -c md5.c -o md5.lo
> ar: libTutf.o: No such file or directory
> make[2]: *** [.libTutf.a.arlib] Error 1
> On RH80:
> ../../scripts/Getsizes > ../../include/Tw/datasizes.h
> /bin/sh: line 1: ../../scripts/Getsizes: Permission denied
> make[2]: *** [../../include/Tw/datasizes.h] Error 126
> Or:
> make[3]: *** No rule to make target `hw_twin.so.0.0.8', needed by `links'. Stop.
> make[3]: *** Waiting for unfinished jobs....
> On RH73:
> ../../scripts/Getsizes > ../../include/Tw/datasizes.h
> /bin/sh: ../../scripts/Getsizes: Permission denied
> make[2]: *** [../../include/Tw/datasizes.h] Error 126
> Or:
> checking whether the C compiler (i386-redhat-linux-gcc-2.96 -O2 -march=i386 -mcpu=i686 ) works... no
> configure: error: installation or configuration problem: C compiler cannot create executables.
> On RH62:
> checking whether the C compiler (i386-redhat-linux-gcc-2.91.6 -O2 -march=i386 -mcpu=i686 ) works... no
> configure: error: installation or configuration problem: C compiler cannot create executables.
>
> This is the result after a couple of builds on all 4 distributions. If I
> disable distcc, the builds succeed without any problems !!
>
> If I only build on localhost (or build on multiple hosts) the builds fail
> as noted above.
>
> Could you try and build twin yourself with and without distcc to see if
> you can mimic this behaviour yourself ? I guess that would make it easier
> to find the culprit.
>
> Thanks in advance,
> [Any errors in spelling, tact or fact are transmission errors]
--
Martin
linux.conf.au 2004: Adelaide, Australia http://lca2004.linux.org.au/
More information about the distcc
mailing list