ytrstu / distcc

Automatically exported from code.google.com/p/distcc
GNU General Public License v2.0
0 stars 0 forks source link

Pump mode fails with -Wmissing-include-dirs -Werror #121

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
The problem appears if test.c doesn't include any file from the 'headers' 
directory and both -Wmissing-include-dirs -Werror are set.

$ distcc-pump distcc -c -Wmissing-include-dirs -Werror -Iheaders test.c
__________Using distcc-pump from /usr/bin
__________Using 1 distcc server in pump mode
distcc[32537] ERROR: compile test.c on 10.1.0.2,cpp,lzo failed
distcc[32537] (dcc_build_somewhere) Warning: remote compilation of 'test.c' 
failed, retrying locally
distcc[32537] (dcc_build_somewhere) Warning: failed to distribute and fallbacks 
are disabled
cc1: error: headers: No such file or directory [-Werror]
cc1: all warnings being treated as errors
__________Shutting down distcc-pump include server

This can be easily worked around by not using -Werror, but I guess it would be 
nice if this scenario was handled automatically by distcc.

Original issue reported on code.google.com by bino...@gmail.com on 10 Jan 2013 at 11:55

GoogleCodeExporter commented 9 years ago
What's the contents of test.c?
What's the contents of your current working directory when you run the 
distcc-pump command?  Does it have a "headers" subdirectory?  Does that 
subdirectory contain any files?

Original comment by fergus.h...@gmail.com on 10 Jan 2013 at 1:19

GoogleCodeExporter commented 9 years ago
Let's suppose a project with the following files:

file1.c
file2.c
headers/globals.h

file1.c includes "globals.h"
file2.c does not include it

Both files are compiled with the same CFLAGS, like this:

cc -c -Iheaders -Wmissing-include-dirs -Werror file1.c
cc -c -Iheaders -Wmissing-include-dirs -Werror file2.c

When compiling file1.c, headers/globals.h will be sent to the distcc server.

When compiling file2.c, it will not, because that header is not needed
to compile that file. However, -Wmissing-include-dirs will produce a
compilation warning, and together with -Werror it will make the
compilation fail.

Original comment by bino...@gmail.com on 10 Jan 2013 at 3:51