[distcc] Mac OS X Leopard

Fergus Henderson fergus at google.com
Fri Jan 9 17:59:27 GMT 2009


On Mon, Dec 22, 2008 at 3:45 PM, Michael Witten <mfwitten at mit.edu> wrote:

> Hello,
>
> I recently tried to build distcc 3.1 on Mac OS X Leopard (PPC).
> At first I did no special configuration, so that the configure
> script chose Apple's builtin /usr/bin/python2.5 to build the
> include-server module.
>
> Because Apple's builtin /usr/bin/python2.5 is universal, the
> include-server module is built with '-arch i386 -arch ppc',
> and this seems to conflict with the -MD flag (even when
> --disable-dependency-tracking):
>
>    gcc-4.0: -E, -S, -save-temps and -M options are not allowed with
> multiple -arch flags


This is a tricky one to solve.  I think the right fix is to make gcc support
-M options even when multiple -arch flags are specified.
(gcc would need to produce several .d files and then merge them into a
single one.)


> I simply removed -MD from the CFLAGS in the Makefile.


Yes, that's what I did too.  That seems like a fine work-around in the mean
time.
I would be happy to accept a patch to make distcc do this automatically (or
even just a patch to the INSTALL file to describe the work-around).


> However, there's another problem: the include-server module seems to
> link with the object code already produced by other targets
> (my guess really), and those are only built for the native
> architecture. Consequently, one architecture can't be satisfied
> (remember the '-arch i386 -arch ppc').


Hmm, I did not encounter that one.  (I was using python2.4, though.)
I think the include-server will recompile all the objects that it links
against, so I don't see why that should happen.
If you want to try to solve it, you may need to analyze what's happening a
bit more closely.

Cheers,
  Fergus.

-- 
Fergus Henderson <fergus at google.com>
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the distcc mailing list