Closed GoogleCodeExporter closed 8 years ago
Basically this message means that distcc's "pump" mode does not support the
"-isysroot" flag, so distcc is falling back to using local preprocessing. This
is not new, so I guess something in your build environment recently changed
which flags you are passing to distcc.
See
http://lists.samba.org/archive/distcc/2008q3/003790.html
for a work-around.
Original comment by fergus.h...@gmail.com
on 26 Feb 2014 at 11:53
So from the workaround you pointed me at, essentially hiding that option from
distcc is enough to make things work? Couldn’t distcc be made to ignore the
presence of that option and just pass it through? Applying the workaround as
described complicates my build system considerably.
Thanks!
Original comment by dave@boostpro.com
on 27 Feb 2014 at 3:11
Hi Dave,
> So from the workaround you pointed me at, essentially hiding that option from
> distcc is enough to make things work?
I don't know, but it's probably worth a try. If you do try it, please let us
know how it turns out.
> Couldn’t distcc be made to ignore the presence of that option and just pass
> it through?
It would be awesome if you could make a patch for distcc to handle -isysroot.
It's not quite just a matter of passing it through; distcc notices that the
compiler name is different and computes the set of built-in system directories
separately for that compiler. (The file include_server/compiler_defaults.py in
the distcc sources keeps a table of built-in system directories, indexed by
compiler name and -sysroot flag value.)
But you're right that it is probably not hard to do in distcc.
distcc already has code to handle -sysroot; handling -isysroot should be
similar.
Documentation for -isysroot is hard to come by, but according to
the documentation for -sysroot at
<http://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html>, which mentions
-isysroot in passing,
"If you use both this option [-sysroot] and the -isysroot option, then the
--sysroot option applies to libraries, but the -isysroot option applies to
header files."
Since distcc's option processing is essentially only concerned with the effect
on preprocessing, that means that for distcc, -isysroot should have exactly the
same effect as -sysroot except that if -isysroot is present then distcc should
use the -isysroot value and ignore the -sysroot value.
Distcc is open source. If you are getting benefit from distcc, I would
encourage you to improve it to make it even better and to contribute your
changes back to the community.
Cheers,
Fergus.
Original comment by fergus.h...@gmail.com
on 27 Feb 2014 at 11:58
Actually it looks like Rafael Ávila de Espíndola has already made a patch for
this.
I'll take on the task of fixing and integrating that patch.
Original comment by fergus.h...@gmail.com
on 27 Feb 2014 at 1:31
Fixed in revision 783.
Original comment by fergus.h...@gmail.com
on 27 Feb 2014 at 1:48
Thanks Fergus! I would love to contribute, but my current circumstances make
that very difficult. These days I am forced to be a “taker” of FOSS
without being able to give much back. Your work is very much appreciated,
though!
Original comment by dave@boostpro.com
on 27 Feb 2014 at 9:12
Original issue reported on code.google.com by
dave@boostpro.com
on 24 Feb 2014 at 9:07