[distcc] distcc failed to parse "-x c" and "-x c++" compiler flags and to pass -nostdinc to distcc server

Martin Pool mbp at canonical.com
Tue Dec 1 17:25:49 MST 2009


2009/10/28 Tihomir Heidelberg - 9a4gl <9a4gl at hamradio.hr>:
> Hi,
>
> having problem with gcce compiler from CSL Arm Toolchain using distcc,
> command arguments parsing problem, description bellow...
>
> According to distcc FAQ:
>
> Compiler command line parsing problems?
>
> distcc parses the compiler command line to work out what operation is being
> invoked, and what are the input and output files. The semantics of gcc
> command lines is fairly complex, and has changed slightly over time. There
> may be some valid command lines that distcc understands differently to gcc,
> though none are known at the moment. These ought to cause the command to be
> run locally, but it is possible that it would cause a failure. Either case
> should be reported as a bug.
>
> Using:
> - Cygwin
> - distcc 2.18.3 i686-pc-cygwin (protocols 1 and 2) (default port 3632)
>   built Apr 25 2005 11:10:45
>   Copyright (C) 2002, 2003, 2004 by Martin Pool.
>   Includes miniLZO (C) 1996-2002 by Markus Franz Xaver Johannes Oberhumer.
> As I see there is no newer version for cygwin, and on
> http://distcc.samba.org/download.html the same is available as source
>
> Using: CSL Arm Toolchain with gcce compiler for ARM, building binaries for
> Symbian OS
> arm-none-symbianelf-g++.exe (GCC) 3.4.3 (release) (CodeSourcery ARM Q1C
> 2005)
> Copyright (C) 2004 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
> Problem 1:
> This compiler has option to tell which compiler to use, c or cpp, option is:
>   -x <language>            Specify the language of the following input files
>                            Permissible languages include: c c++ assembler
> none
>                            'none' means revert to the default behavior of
>                            guessing the language based on the file's
> extension
> If I pass -x c to
>   distcc.exe arm-none-symbianelf-g++.exe ... -x c ...
> I get
> arm-none-symbianelf-g++.exe: warning: `-x c' after last input file has no
> effect
> arm-none-symbianelf-g++.exe: no input files

What's in the ...?  If you are putting -x c after the source files,
the error is reasonable.  If you're doing it correctly and distcc's
messing up the order, that would be a bug.

>
> With -x c++ there is no warning, but I am not sure if it handle that.
>
> Problem 2:
> There is compiler flag -nostdinc which does not cause problems to distcc.exe
> calling preprocessor, but this option is not passed to distccd server. It
> seems that distcc.exe does not recognize it, so it ignores this.

-nostdinc only affects searching for include files, therefore it'd be
appropriate not to pass it to the server?

-- 
Martin <http://launchpad.net/~mbp/>


More information about the distcc mailing list