Closed GoogleCodeExporter closed 9 years ago
I think I have found the culprit: if I pass -v to g++ to know what g++ does, it
reports the following:
akim@montero /tmp $ DISTCC_LOG=/tmp/distcc.log DISTCC_VERBOSE=1 pump distcc g++
-v -c foo.cc -o
/tmp/foo.o
10:50:54
__________Using distcc-pump from /opt/local/bin
__________Using 3 distcc servers, of which only 2 support(s) pump
mode
WARNING include server: Preprocessing locally. Include server internal error:
'<type 'exceptions.ValueError'>:
("Expected absolute path, but got '(framework'.",)' for translation unit
'unknown translation unit' -------
Include server stack trace -----------
Traceback (most recent call last):
File "/opt/local/lib/python2.5/site-packages/include_server/include_server.py", line 379, in handle
include_analyzer.client_root_keeper))
File "/opt/local/lib/python2.5/site-packages/include_server/include_analyzer.py", line 254, in
DoCompilationCommand
self.timer))
File "/opt/local/lib/python2.5/site-packages/include_server/parse_command.py", line 435, in
ParseCommandArgs
compiler_defaults.SetSystemDirsDefaults(compiler, parse_state.language, timer)
File "/opt/local/lib/python2.5/site-packages/include_server/compiler_defaults.py", line 353, in
SetSystemDirsDefaults
self.system_links)
File "/opt/local/lib/python2.5/site-packages/include_server/compiler_defaults.py", line 104, in
_MakeLinkFromMirrorToRealLocation
raise ValueError("Expected absolute path, but got '%s'." % system_dir)
ValueError: Expected absolute path, but got '(framework'.
----------------------------------------------
Using built-in specs.
Target: i686-apple-darwin9
Configured with: /var/tmp/gcc/gcc-5484~1/src/configure --disable-checking
-enable-werror --
prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++
--program-transform-
name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0
--with-slibdir=/usr/lib --
build=i686-apple-darwin9 --with-arch=apple --with-tune=generic
--host=i686-apple-darwin9 --
target=i686-apple-darwin9
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5484)
/usr/libexec/gcc/i686-apple-darwin9/4.0.1/cc1plus -E -quiet -v -D__DYNAMIC__ foo.cc -fPIC -mmacosx-
version-min=10.5.5 -mtune=generic -march=apple -D__private_extern__=extern
ignoring nonexistent directory
"/usr/lib/gcc/i686-apple-darwin9/4.0.1/../../../../i686-apple-
darwin9/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/include/c++/4.0.0
/usr/include/c++/4.0.0/i686-apple-darwin9
/usr/include/c++/4.0.0/backward
/usr/local/include
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include
/usr/include
/System/Library/Frameworks (framework directory)
/Library/Frameworks (framework directory)
End of search list.
Using built-in specs.
Target: i686-apple-darwin9
Configured with: /var/tmp/gcc/gcc-5488~2/src/configure --disable-checking
-enable-werror --
prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++
--program-transform-
name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0
--with-slibdir=/usr/lib --
build=i686-apple-darwin9 --with-arch=apple --with-tune=generic
--host=i686-apple-darwin9 --
target=i686-apple-darwin9
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5488)
/usr/libexec/gcc/i686-apple-darwin9/4.0.1/cc1plus -fpreprocessed /tmp/distccd_91bb2887.ii -fPIC -quiet
-dumpbase distccd_91bb2887.ii -mmacosx-version-min=10.5.5 -mtune=generic
-march=apple -auxbase-
strip /tmp/distccd_910a2887.o -version -D__private_extern__=extern -o
/var/tmp//ccR01nsR.s
GNU C++ version 4.0.1 (Apple Inc. build 5488) (i686-apple-darwin9)
compiled by GNU C version 4.0.1 (Apple Inc. build 5488).
GGC heuristics: --param ggc-min-expand=65 --param ggc-min-heapsize=65536
Compiler executable checksum: 1d4ec46bccffdbc7c262d70f443fd69d
/usr/libexec/gcc/i686-apple-darwin9/4.0.1/as -arch i386 -force_cpusubtype_ALL -o
/tmp/distccd_910a2887.o /var/tmp//ccR01nsR.s
Please, note at the bottom the way some OSX specific directories are reported:
#include <...> search starts here:
/usr/include/c++/4.0.0
/usr/include/c++/4.0.0/i686-apple-darwin9
/usr/include/c++/4.0.0/backward
/usr/local/include
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include
/usr/include
/System/Library/Frameworks (framework directory)
/Library/Frameworks (framework directory)
End of search list.
So I guess that distcc is using this output to find the paths to use, and must
fails because of this.
Original comment by akim.demaille@gmail.com
on 15 Dec 2008 at 9:56
Can you please try the attached patch?
Original comment by fergus.h...@gmail.com
on 15 Dec 2008 at 9:44
Attachments:
Thanks for the patch. Something seems to go wrong when I patch my installed
copy of the include_server:
WARNING include server: Preprocessing locally. Include server not covering:
Bailing out because include server spent more than 3.8s user time
handling request for translation unit '../../../src/ast-dump.cc'
distcc[52802] Warning: include server gave up analyzing
distcc[52802] (dcc_build_somewhere) Warning: failed to get includes from
include server, preprocessing locally
distcc[52802] (dcc_select_for_write) ERROR: IO timeout
distcc[52802] ERROR: timeout while connecting to 147.250.35.197:3632
distcc[52802] Warning: failed to distribute ../../../src/ast-dump.cc to
147.250.35.197/10,cpp, running locally instead
mv -f .deps/ast_dump-ast-dump.Tpo .deps/ast_dump-ast-dump.Po
distcc i686-apple-darwin9-g++-4.0.1 -DHAVE_CONFIG_H
-I../../../sdk-remote/libltdl -I../../../src -I. -I../../../include
-I../include -I../../../sdk-
remote/include -I../sdk-remote/include -I../sdk-remote -I../../../lib
-I../../../src/uobject -I/opt/local/include -DBUILDING_URBI_SDK -isystem
/opt/local/include -DURBI_DEBUG -D_GLIBCXX_DEBUG -Wno-deprecated -Wall -W
-Woverloaded-virtual -Wformat -
wd111,193,279,383,444,522,654,810,981,1418 -Werror -Wcast-align -Wcast-qual
-Wwrite-strings -D_THREAD_SAFE -O2 -ggdb -
fvisibility=hidden -fvisibility-inlines-hidden -MT ast/ast_dump-symbols-type.o
-MD -MP -MF ast/.deps/ast_dump-symbols-type.Tpo -c -o
ast/ast_dump-symbols-type.o `test -f 'ast/symbols-type.cc' || echo
'../../../src/'`ast/symbols-type.cc
I don't know what's happening.
So I tried to compile distcc by hand, but then there several failures due to
the fact that I did not say --with-include-popt, so configure.ac decided,
without even checking, to add -lpopt to all the compilations, which results in
several functions not being correctly detected as present:
configure:7042: checking for strsep
configure:7099: ccache i686-apple-darwin9-gcc-4.0.1 -o conftest -g -O2 -MD -W
-Wall -Wimplicit -Wshadow -Wpointer-arith -Wcast-align -
Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes
-Wnested-externs -Wmissing-declarations -Wuninitialized -isystem
/opt/local/include -DHAVE_CONFIG_H -D_GNU_SOURCE conftest.c -lpopt >&5
conftest.c:60: warning: function declaration isn't a prototype
conftest.c:67: warning: function declaration isn't a prototype
conftest.c:75: warning: function declaration isn't a prototype
ld: library not found for -lpopt
collect2: ld returned 1 exit status
distcc[56012] ERROR: compile conftest.c on localhost failed
configure:7105: $? = 1
configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME "distcc"
| #define PACKAGE_TARNAME "distcc"
| #define PACKAGE_VERSION "3.1"
| #define PACKAGE_STRING "distcc 3.1"
| #define PACKAGE_BUGREPORT "distcc@lists.samba.org"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_SIGNAL_H 1
| #define HAVE_CTYPE_H 1
| #define HAVE_SYS_RESOURCE_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_SYS_SELECT_H 1
| #define HAVE_NETINET_IN_H 1
| #define HAVE_ARPA_NAMESER_H 1
| #define HAVE_RESOLV_H 1
| #define HAVE_FLOAT_H 1
| #define HAVE_ALLOCA_H 1
| #define HAVE_SYS_MMAN_H 1
| #define HAVE_FNMATCH_H 1
| #define HAVE_IN_PORT_T 1
| #define HAVE_IN_ADDR_T 1
| #define RETSIGTYPE void
| /* end confdefs.h. */
| /* Define strsep to an innocuous variant, in case <limits.h> declares strsep.
| For example, HP-UX 11i <limits.h> declares gettimeofday. */
| #define strsep innocuous_strsep
|
| /* System header to define __stub macros and hopefully few prototypes,
| which can conflict with char strsep (); below.
| Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
| <limits.h> exists even on freestanding compilers. */
|
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
|
| #undef strsep
|
| /* Override any gcc2 internal prototype to avoid an error. */
| #ifdef __cplusplus
| extern "C"
| {
| #endif
| /* We use char because int might match the return type of a gcc2
| builtin and then its argument prototype would still apply. */
| char strsep ();
| /* The GNU C library defines this for functions which it implements
| to always fail with ENOSYS. Some functions are actually named
| something starting with __ and the normal name is an alias. */
| #if defined (__stub_strsep) || defined (__stub___strsep)
| choke me
| #else
| char (*f) () = strsep;
| #endif
| #ifdef __cplusplus
| }
| #endif
|
| int
| main ()
| {
| return f != strsep;
| ;
| return 0;
| }
configure:7129: result: no
But my machine does have strsep, and therefore, later:
ccache i686-apple-darwin9-gcc-4.0.1 -isystem /opt/local/include -DHAVE_CONFIG_H
-D_GNU_SOURCE -DSYSCONFDIR="\"/usr/local/etc\"" -
DPKGDATADIR="\"/usr/local/share/distcc\"" -Isrc -I"../../src" -I"../../lzo"
-Werror -g -O2 -MD -W -Wall -Wimplicit -Wshadow -Wpointer-arith -
Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes
-Wmissing-prototypes -Wnested-externs -Wmissing-declarations -
Wuninitialized -o src/util.o -c ../../src/util.c
distcc[57093] ERROR: compile
/Users/akim/.ccache/util.tmp.montero.gostai.ensta.fr.57089.i on localhost failed
distcc[57089] Warning: INCLUDE_SERVER_PORT not set - did you forget to run
under 'pump'?
distcc[57089] (dcc_build_somewhere) Warning: failed to get includes from
include server, preprocessing locally
distcc[57089] ERROR: compile ../../src/util.c on bf-macintel-1/4,cpp failed
distcc[57089] (dcc_build_somewhere) Warning: remote compilation of
'../../src/util.c' failed, retrying locally
distcc[57089] Warning: failed to distribute ../../src/util.c to
bf-macintel-1/4,cpp, running locally instead
../../src/util.c:721: error: static declaration of 'strsep' follows non-static
declaration
/usr/include/string.h:135: error: previous declaration of 'strsep' was here
distcc[57089] ERROR: compile ../../src/util.c on localhost failed
make: *** [src/util.o] Error 1
Compilation FAILED: /tmp/distcc-3.1: build-for-darwin exit 2
So I'll start again with the needed flags, but can I suggest to AC_CHECK_LIBS
first whether popt is present before deciding not to use the provided one?
That's much nicer to the user IMHO.
Thanks!
Original comment by akim.demaille@gmail.com
on 16 Dec 2008 at 9:24
The error is mine, sorry: I had CPPFLAGS that found popt.h, but my LDFLAGS was
not adjusted accordingly, so configure.ac expected that I had -
lpopt based on the presence of popt.h.
It compiles, but make check shows errors:
SystemIncludeDirectories_Case FAIL
-----------------------------------------------------------------
Traceback (most recent call last):
File "/private/tmp/distcc-3.1/test/comfychair.py", line 355, in runtest
obj.runtest()
File "../../test/testdistcc.py", line 864, in runtest
self.compile()
File "../../test/testdistcc.py", line 889, in compile
out, err = self.runcmd(cmd)
File "/private/tmp/distcc-3.1/test/comfychair.py", line 219, in runcmd
%s""" % (rc, expectedResult, cmd, output, stderr))
AssertionError: command returned 1; expected 0: "DISTCC_FALLBACK=0 distcc
/usr/bin/gcc -o testtmp.o -I/usr/include/sys -c testtmp.c"
stdout:
stderr:
testtmp.c:2:71: error: types.h: No such file or directory
test_log:
Run command: distccd --verbose --lifetime=60 --daemon --log-file
'/private/tmp/distcc-3.1/_build/i386-apple-
darwin9.5.0/_testtmp/SystemIncludeDirectories_Case/distccd.log' --pid-file
'/private/tmp/distcc-3.1/_build/i386-apple-
darwin9.5.0/_testtmp/SystemIncludeDirectories_Case/daemonpid.tmp' --port 42000
--allow 127.0.0.1
Wait status: 0x0 (exit code 0, signal 0)
stdout:
stderr:
Run command: DISTCC_FALLBACK=0 distcc /usr/bin/gcc -o testtmp.o
-I/usr/include/sys -c testtmp.c
Wait status: 0x100 (exit code 1, signal 0)
stdout:
stderr:
testtmp.c:2:71: error: types.h: No such file or directory
-----------------------------------------------------------------
CPlusPlus_SystemIncludeDirectories_Case FAIL
-----------------------------------------------------------------
Traceback (most recent call last):
File "/private/tmp/distcc-3.1/test/comfychair.py", line 355, in runtest
obj.runtest()
File "../../test/testdistcc.py", line 975, in runtest
Compilation_Case.runtest (self)
File "../../test/testdistcc.py", line 864, in runtest
self.compile()
File "../../test/testdistcc.py", line 889, in compile
out, err = self.runcmd(cmd)
File "/private/tmp/distcc-3.1/test/comfychair.py", line 219, in runcmd
%s""" % (rc, expectedResult, cmd, output, stderr))
AssertionError: command returned 1; expected 0: "DISTCC_FALLBACK=0 distcc
/usr/bin/gcc -o testtmp.o -I/usr/include/sys -c testtmp.cpp"
stdout:
stderr:
testtmp.cpp:2:71: error: types.h: No such file or directory
test_log:
Run command: distccd --verbose --lifetime=60 --daemon --log-file
'/private/tmp/distcc-3.1/_build/i386-apple-
darwin9.5.0/_testtmp/CPlusPlus_SystemIncludeDirectories_Case/distccd.log'
--pid-file '/private/tmp/distcc-3.1/_build/i386-apple-
darwin9.5.0/_testtmp/CPlusPlus_SystemIncludeDirectories_Case/daemonpid.tmp'
--port 42000 --allow 127.0.0.1
Wait status: 0x0 (exit code 0, signal 0)
stdout:
stderr:
Run command: touch testtmp.cpp; rm -f testtmp.o; /usr/bin/gcc -x c++
-I/usr/include/sys -c testtmp.cpp -lstdc++ && test -f testtmp.o
Wait status: 0x0 (exit code 0, signal 0)
stdout:
stderr:
i686-apple-darwin9-gcc-4.0.1: -lstdc++: linker input file unused because
linking not done
Run command: DISTCC_FALLBACK=0 distcc /usr/bin/gcc -o testtmp.o
-I/usr/include/sys -c testtmp.cpp
Wait status: 0x100 (exit code 1, signal 0)
stdout:
stderr:
testtmp.cpp:2:71: error: types.h: No such file or directory
-----------------------------------------------------------------
Original comment by akim.demaille@gmail.com
on 16 Dec 2008 at 9:37
It compiles, but does not seem to work properly. I have no idea how I'm
supposed to track this down.
I guess the include_server runs only on the client machine, not on the machines
that compile (I have applied the patch only on my machine).
akim@montero ..rnel/_build/i386-apple-darwin9.5.0/src $ DISTCC_VERBOSE=1 pump
distcc i686-apple-darwin9-g++-4.0.1 -DHAVE_CONFIG_H -
I../../../sdk-remote/libltdl -I../../../src -I. -I../../../include -I../include
-I../../../sdk-remote/include -I../sdk-remote/include -I../sdk-remote
-I../../../lib
-I../../../src/uobject -I/opt/local/include -DBUILDING_URBI_SDK -isystem
/opt/local/include -DURBI_DEBUG -D_GLIBCXX_DEBUG -Wno-deprecated -Wall
-W -Woverloaded-virtual -Wformat -wd111,193,279,383,444,522,654,810,981,1418
-Werror -Wcast-align -Wcast-qual -Wwrite-strings -
D_THREAD_SAFE -O2 -ggdb -fvisibility=hidden -fvisibility-inlines-hidden -MT
ast/ast_dump-op-assignment.o -MD -MP -MF ast/.deps/ast_dump-op-
assignment.Tpo -c -o ast/ast_dump-op-assignment.o `test -f
'ast/op-assignment.cc' || echo '../../../src/'`ast/op-assignment.cc
__________Using distcc-pump from /usr/local/bin
distcc[71130] (dcc_trace_version) distcc 3.1 i386-apple-darwin9.5.0; built Dec
16 2008 10:32:06
distcc[71130] (dcc_recursion_safeguard) safeguard level=0
distcc[71130] (main) compiler name is "distcc"
distcc[71130] (dcc_get_hostlist) not reading /Users/akim/.distcc/hosts: No such
file or directory
distcc[71130] (dcc_parse_hosts_file) load hosts from /usr/local/etc/distcc/hosts
distcc[71130] (dcc_parse_hosts) found tcp token "147.250.35.181/10,lzo,cpp"
distcc[71130] (dcc_parse_options) got LZO option
distcc[71130] (dcc_parse_options) got CPP option
distcc[71130] (dcc_parse_hosts) found tcp token "bf-macintel-1/4,lzo,cpp"
distcc[71130] (dcc_parse_options) got LZO option
distcc[71130] (dcc_parse_options) got CPP option
distcc[71130] (dcc_parse_hosts) found tcp token "bf-macppc-1/8,lzo,cpp"
distcc[71130] (dcc_parse_options) got LZO option
distcc[71130] (dcc_parse_options) got CPP option
distcc[71130] (dcc_parse_hosts) found localhost token "localhost/1"
distcc[71130] (dcc_exit) exit: code 0; self: 0.001211 user 0.002504 sys;
children: 0.000000 user 0.000000 sys
distcc[71130] (dcc_cleanup_tempfiles_inner) deleted 0 temporary files
__________Using 4 distcc servers, of which only 3 support(s) pump
mode
distcc[71152] (dcc_trace_version) distcc 3.1 i386-apple-darwin9.5.0; built Dec
16 2008 10:32:06
distcc[71152] (dcc_recursion_safeguard) safeguard level=0
distcc[71152] (main) compiler name is "distcc"
distcc[71152] (dcc_scan_args) scanning arguments: i686-apple-darwin9-g++-4.0.1
-DHAVE_CONFIG_H -I../../../sdk-remote/libltdl -I../../../src -I. -
I../../../include -I../include -I../../../sdk-remote/include
-I../sdk-remote/include -I../sdk-remote -I../../../lib -I../../../src/uobject
-I/opt/local/include -
DBUILDING_URBI_SDK -isystem /opt/local/include -DURBI_DEBUG -D_GLIBCXX_DEBUG
-Wno-deprecated -Wall -W -Woverloaded-virtual -Wformat -
wd111,193,279,383,444,522,654,810,981,1418 -Werror -Wcast-align -Wcast-qual
-Wwrite-strings -D_THREAD_SAFE -O2 -ggdb -fvisibility=hidden -
fvisibility-inlines-hidden -MT ast/ast_dump-op-assignment.o -MD -MP -MF
ast/.deps/ast_dump-op-assignment.Tpo -c -o ast/ast_dump-op-
assignment.o ../../../src/ast/op-assignment.cc
distcc[71152] (dcc_scan_args) found object/output file
"ast/ast_dump-op-assignment.o"
distcc[71152] (dcc_scan_args) found input file
"../../../src/ast/op-assignment.cc"
distcc[71152] compile from op-assignment.cc to ast_dump-op-assignment.o
distcc[71152] (dcc_get_hostlist) not reading /Users/akim/.distcc/hosts: No such
file or directory
distcc[71152] (dcc_parse_hosts_file) load hosts from /usr/local/etc/distcc/hosts
distcc[71152] (dcc_parse_hosts) found tcp token "147.250.35.181/10,lzo,cpp"
distcc[71152] (dcc_parse_options) got LZO option
distcc[71152] (dcc_parse_options) got CPP option
distcc[71152] (dcc_parse_hosts) found tcp token "bf-macintel-1/4,lzo,cpp"
distcc[71152] (dcc_parse_options) got LZO option
distcc[71152] (dcc_parse_options) got CPP option
distcc[71152] (dcc_parse_hosts) found tcp token "bf-macppc-1/8,lzo,cpp"
distcc[71152] (dcc_parse_options) got LZO option
distcc[71152] (dcc_parse_options) got CPP option
distcc[71152] (dcc_parse_hosts) found localhost token "localhost/1"
distcc[71152] (dcc_lock_host) got cpu lock on bf-macintel-1/4,lzo,cpp slot 0 as
fd4
distcc[71152] (dcc_lock_host) got cpu lock on localhost slot 0 as fd5
distcc[71152] (dcc_note_state) note state 3, file "(NULL)", host "localhost"
distcc[71152] (dcc_connect_by_addr) started connecting to UNIX-DOMAIN
/tmp/distcc-pump.NDuREZ/socket
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_x_token_int) send CDIR00000041
distcc[71152] (dcc_x_token_string) send string
'/Users/akim/src/urbi/2.0/kernel/_build/i386-apple-darwin9.5.0/src'
distcc[71152] (dcc_x_token_int) send ARGC0000002b
distcc[71152] (dcc_x_token_int) send ARGV0000001c
distcc[71152] (dcc_x_token_string) send string 'i686-apple-darwin9-g++-4.0.1'
distcc[71152] (dcc_x_token_int) send ARGV0000000f
distcc[71152] (dcc_x_token_string) send string '-DHAVE_CONFIG_H'
distcc[71152] (dcc_x_token_int) send ARGV0000001d
distcc[71152] (dcc_x_token_string) send string '-I../../../sdk-remote/libltdl'
distcc[71152] (dcc_x_token_int) send ARGV0000000e
distcc[71152] (dcc_x_token_string) send string '-I../../../src'
distcc[71152] (dcc_x_token_int) send ARGV00000003
distcc[71152] (dcc_x_token_string) send string '-I.'
distcc[71152] (dcc_x_token_int) send ARGV00000012
distcc[71152] (dcc_x_token_string) send string '-I../../../include'
distcc[71152] (dcc_x_token_int) send ARGV0000000c
distcc[71152] (dcc_x_token_string) send string '-I../include'
distcc[71152] (dcc_x_token_int) send ARGV0000001d
distcc[71152] (dcc_x_token_string) send string '-I../../../sdk-remote/include'
distcc[71152] (dcc_x_token_int) send ARGV00000017
distcc[71152] (dcc_x_token_string) send string '-I../sdk-remote/include'
distcc[71152] (dcc_x_token_int) send ARGV0000000f
distcc[71152] (dcc_x_token_string) send string '-I../sdk-remote'
distcc[71152] (dcc_x_token_int) send ARGV0000000e
distcc[71152] (dcc_x_token_string) send string '-I../../../lib'
distcc[71152] (dcc_x_token_int) send ARGV00000016
distcc[71152] (dcc_x_token_string) send string '-I../../../src/uobject'
distcc[71152] (dcc_x_token_int) send ARGV00000014
distcc[71152] (dcc_x_token_string) send string '-I/opt/local/include'
distcc[71152] (dcc_x_token_int) send ARGV00000013
distcc[71152] (dcc_x_token_string) send string '-DBUILDING_URBI_SDK'
distcc[71152] (dcc_x_token_int) send ARGV00000008
distcc[71152] (dcc_x_token_string) send string '-isystem'
distcc[71152] (dcc_x_token_int) send ARGV00000012
distcc[71152] (dcc_x_token_string) send string '/opt/local/include'
distcc[71152] (dcc_x_token_int) send ARGV0000000c
distcc[71152] (dcc_x_token_string) send string '-DURBI_DEBUG'
distcc[71152] (dcc_x_token_int) send ARGV00000010
distcc[71152] (dcc_x_token_string) send string '-D_GLIBCXX_DEBUG'
distcc[71152] (dcc_x_token_int) send ARGV0000000f
distcc[71152] (dcc_x_token_string) send string '-Wno-deprecated'
distcc[71152] (dcc_x_token_int) send ARGV00000005
distcc[71152] (dcc_x_token_string) send string '-Wall'
distcc[71152] (dcc_x_token_int) send ARGV00000002
distcc[71152] (dcc_x_token_string) send string '-W'
distcc[71152] (dcc_x_token_int) send ARGV00000014
distcc[71152] (dcc_x_token_string) send string '-Woverloaded-virtual'
distcc[71152] (dcc_x_token_int) send ARGV00000008
distcc[71152] (dcc_x_token_string) send string '-Wformat'
distcc[71152] (dcc_x_token_int) send ARGV0000002b
distcc[71152] (dcc_x_token_string) send string
'-wd111,193,279,383,444,522,654,810,981,1418'
distcc[71152] (dcc_x_token_int) send ARGV00000007
distcc[71152] (dcc_x_token_string) send string '-Werror'
distcc[71152] (dcc_x_token_int) send ARGV0000000c
distcc[71152] (dcc_x_token_string) send string '-Wcast-align'
distcc[71152] (dcc_x_token_int) send ARGV0000000b
distcc[71152] (dcc_x_token_string) send string '-Wcast-qual'
distcc[71152] (dcc_x_token_int) send ARGV0000000f
distcc[71152] (dcc_x_token_string) send string '-Wwrite-strings'
distcc[71152] (dcc_x_token_int) send ARGV0000000e
distcc[71152] (dcc_x_token_string) send string '-D_THREAD_SAFE'
distcc[71152] (dcc_x_token_int) send ARGV00000003
distcc[71152] (dcc_x_token_string) send string '-O2'
distcc[71152] (dcc_x_token_int) send ARGV00000005
distcc[71152] (dcc_x_token_string) send string '-ggdb'
distcc[71152] (dcc_x_token_int) send ARGV00000013
distcc[71152] (dcc_x_token_string) send string '-fvisibility=hidden'
distcc[71152] (dcc_x_token_int) send ARGV0000001b
distcc[71152] (dcc_x_token_string) send string '-fvisibility-inlines-hidden'
distcc[71152] (dcc_x_token_int) send ARGV00000003
distcc[71152] (dcc_x_token_string) send string '-MT'
distcc[71152] (dcc_x_token_int) send ARGV0000001c
distcc[71152] (dcc_x_token_string) send string 'ast/ast_dump-op-assignment.o'
distcc[71152] (dcc_x_token_int) send ARGV00000003
distcc[71152] (dcc_x_token_string) send string '-MD'
distcc[71152] (dcc_x_token_int) send ARGV00000003
distcc[71152] (dcc_x_token_string) send string '-MP'
distcc[71152] (dcc_x_token_int) send ARGV00000003
distcc[71152] (dcc_x_token_string) send string '-MF'
distcc[71152] (dcc_x_token_int) send ARGV00000024
distcc[71152] (dcc_x_token_string) send string
'ast/.deps/ast_dump-op-assignment.Tpo'
distcc[71152] (dcc_x_token_int) send ARGV00000002
distcc[71152] (dcc_x_token_string) send string '-c'
distcc[71152] (dcc_x_token_int) send ARGV00000002
distcc[71152] (dcc_x_token_string) send string '-o'
distcc[71152] (dcc_x_token_int) send ARGV0000001c
distcc[71152] (dcc_x_token_string) send string 'ast/ast_dump-op-assignment.o'
distcc[71152] (dcc_x_token_int) send ARGV00000021
distcc[71152] (dcc_x_token_string) send string
'../../../src/ast/op-assignment.cc'
distcc[71152] (dcc_select_for_read) select for read on fd6 for 300s
WARNING include server: Preprocessing locally. Include server not covering:
Bailing out because include server spent more than 3.8s user time handling
request for translation unit '../../../src/ast/op-assignment.cc'
distcc[71152] (dcc_r_token_int) got ARGC00000000
distcc[71152] (dcc_r_argv) reading 0 arguments from job submission
distcc[71152] (dcc_r_argv) got arguments:
distcc[71152] Warning: include server gave up analyzing
distcc[71152] (dcc_build_somewhere) Warning: failed to get includes from
include server, preprocessing locally
distcc[71152] (dcc_strip_dasho) result: i686-apple-darwin9-g++-4.0.1
-DHAVE_CONFIG_H -I../../../sdk-remote/libltdl -I../../../src -I.
-I../../../include -
I../include -I../../../sdk-remote/include -I../sdk-remote/include
-I../sdk-remote -I../../../lib -I../../../src/uobject -I/opt/local/include -
DBUILDING_URBI_SDK -isystem /opt/local/include -DURBI_DEBUG -D_GLIBCXX_DEBUG
-Wno-deprecated -Wall -W -Woverloaded-virtual -Wformat -
wd111,193,279,383,444,522,654,810,981,1418 -Werror -Wcast-align -Wcast-qual
-Wwrite-strings -D_THREAD_SAFE -O2 -ggdb -fvisibility=hidden -
fvisibility-inlines-hidden -MT ast/ast_dump-op-assignment.o -MD -MP -MF
ast/.deps/ast_dump-op-assignment.Tpo -c ../../../src/ast/op-
assignment.cc
distcc[71152] (dcc_spawn_child) forking to execute:
i686-apple-darwin9-g++-4.0.1 -DHAVE_CONFIG_H -I../../../sdk-remote/libltdl
-I../../../src -I. -
I../../../include -I../include -I../../../sdk-remote/include
-I../sdk-remote/include -I../sdk-remote -I../../../lib -I../../../src/uobject
-I/opt/local/include -
DBUILDING_URBI_SDK -isystem /opt/local/include -DURBI_DEBUG -D_GLIBCXX_DEBUG
-Wno-deprecated -Wall -W -Woverloaded-virtual -Wformat -
wd111,193,279,383,444,522,654,810,981,1418 -Werror -Wcast-align -Wcast-qual
-Wwrite-strings -D_THREAD_SAFE -O2 -ggdb -fvisibility=hidden -
fvisibility-inlines-hidden -MT ast/ast_dump-op-assignment.o -MD -MP -MF
ast/.deps/ast_dump-op-assignment.Tpo -E ../../../src/ast/op-
assignment.cc
distcc[71152] (dcc_spawn_child) child started as pid71157
distcc[71152] (dcc_strip_local_args) result: i686-apple-darwin9-g++-4.0.1
-Wno-deprecated -Wall -W -Woverloaded-virtual -Wformat -
wd111,193,279,383,444,522,654,810,981,1418 -Werror -Wcast-align -Wcast-qual
-Wwrite-strings -O2 -ggdb -fvisibility=hidden -fvisibility-inlines-
hidden -c -o ast/ast_dump-op-assignment.o ../../../src/ast/op-assignment.cc
distcc[71152] exec on bf-macintel-1/4,lzo,cpp: i686-apple-darwin9-g++-4.0.1
-Wno-deprecated -Wall -W -Woverloaded-virtual -Wformat -
wd111,193,279,383,444,522,654,810,981,1418 -Werror -Wcast-align -Wcast-qual
-Wwrite-strings -O2 -ggdb -fvisibility=hidden -fvisibility-inlines-
hidden -c -o ast/ast_dump-op-assignment.o ../../../src/ast/op-assignment.cc
distcc[71152] (dcc_note_state) note state 2, file "op-assignment.cc", host
"bf-macintel-1"
distcc[71157] (dcc_new_pgrp) entered process group
distcc[71157] (dcc_increment_safeguard) setting safeguard: _DISTCC_SAFEGUARD=1
distcc[71152] (dcc_connect_by_addr) started connecting to 192.168.0.219:3632
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_note_state) note state 4, file "(NULL)", host "(NULL)"
distcc[71152] (dcc_x_token_int) send DIST00000002
distcc[71152] (dcc_x_token_int) send ARGC00000013
distcc[71152] (dcc_x_token_int) send ARGV0000001c
distcc[71152] (dcc_x_token_string) send string 'i686-apple-darwin9-g++-4.0.1'
distcc[71152] (dcc_x_token_int) send ARGV0000000f
distcc[71152] (dcc_x_token_string) send string '-Wno-deprecated'
distcc[71152] (dcc_x_token_int) send ARGV00000005
distcc[71152] (dcc_x_token_string) send string '-Wall'
distcc[71152] (dcc_x_token_int) send ARGV00000002
distcc[71152] (dcc_x_token_string) send string '-W'
distcc[71152] (dcc_x_token_int) send ARGV00000014
distcc[71152] (dcc_x_token_string) send string '-Woverloaded-virtual'
distcc[71152] (dcc_x_token_int) send ARGV00000008
distcc[71152] (dcc_x_token_string) send string '-Wformat'
distcc[71152] (dcc_x_token_int) send ARGV0000002b
distcc[71152] (dcc_x_token_string) send string
'-wd111,193,279,383,444,522,654,810,981,1418'
distcc[71152] (dcc_x_token_int) send ARGV00000007
distcc[71152] (dcc_x_token_string) send string '-Werror'
distcc[71152] (dcc_x_token_int) send ARGV0000000c
distcc[71152] (dcc_x_token_string) send string '-Wcast-align'
distcc[71152] (dcc_x_token_int) send ARGV0000000b
distcc[71152] (dcc_x_token_string) send string '-Wcast-qual'
distcc[71152] (dcc_x_token_int) send ARGV0000000f
distcc[71152] (dcc_x_token_string) send string '-Wwrite-strings'
distcc[71152] (dcc_x_token_int) send ARGV00000003
distcc[71152] (dcc_x_token_string) send string '-O2'
distcc[71152] (dcc_x_token_int) send ARGV00000005
distcc[71152] (dcc_x_token_string) send string '-ggdb'
distcc[71152] (dcc_x_token_int) send ARGV00000013
distcc[71152] (dcc_x_token_string) send string '-fvisibility=hidden'
distcc[71152] (dcc_x_token_int) send ARGV0000001b
distcc[71152] (dcc_x_token_string) send string '-fvisibility-inlines-hidden'
distcc[71152] (dcc_x_token_int) send ARGV00000002
distcc[71152] (dcc_x_token_string) send string '-c'
distcc[71152] (dcc_x_token_int) send ARGV00000002
distcc[71152] (dcc_x_token_string) send string '-o'
distcc[71152] (dcc_x_token_int) send ARGV0000001c
distcc[71152] (dcc_x_token_string) send string 'ast/ast_dump-op-assignment.o'
distcc[71152] (dcc_x_token_int) send ARGV00000021
distcc[71152] (dcc_x_token_string) send string
'../../../src/ast/op-assignment.cc'
distcc[71152] (dcc_note_state) note state 3, file "(NULL)", host "(NULL)"
distcc[71152] (dcc_collect_child) cpp child 71157 terminated with status 0
distcc[71152] (dcc_collect_child) cpp times: user 0.000000s, system 0.000000s,
0 minflt, 0 majflt
distcc[71152] cpp ../../../src/ast/op-assignment.cc on localhost completed ok
distcc[71152] (dcc_unlock) release lock fd5
distcc[71152] (dcc_x_file) send 3083462 byte file
/var/folders/hy/hy4Qz3qs2RWPcU+8ZQWaqU+++TI/-Tmp-//distcc_11247a10.ii with
token DOTI and
compression 70
distcc[71152] (dcc_compress_lzo1x_alloc) compressed 3083462 bytes to 587313
bytes: 19%
distcc[71152] (dcc_x_token_int) send DOTI0008f631
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_select_for_write) select for write on fd6
distcc[71152] (dcc_compile_remote) client finished sending request to server
distcc[71152] (dcc_note_state) note state 5, file "(NULL)", host "bf-macintel-1"
distcc[71152] (dcc_select_for_read) select for read on fd6 for 300s
distcc[71152] (dcc_r_token_int) got DONE00000002
distcc[71152] (dcc_note_state) note state 6, file "(NULL)", host "(NULL)"
distcc[71152] (dcc_r_token_int) got STAT00000000
distcc[71152] (dcc_r_token_int) got SERR00000000
distcc[71152] (dcc_r_file) received 0 bytes to file
/var/folders/hy/hy4Qz3qs2RWPcU+8ZQWaqU+++TI/-Tmp-//distcc_server_stderr_96177a08
.txt
distcc[71152] (dcc_r_token_int) got SOUT00000000
distcc[71152] (dcc_select_for_read) select for read on fd6 for 300s
distcc[71152] (dcc_r_token_int) got DOTO0001cc55
distcc[71152] (dcc_r_bulk_lzo1x) decompressed 117845 bytes to 477536 bytes: 24%
distcc[71152] (dcc_r_file) received 117845 bytes to file
ast/ast_dump-op-assignment.o
distcc[71152] (dcc_r_file_timed) 117845 bytes received in 0.006780s, rate
16974kB/s
distcc[71152] 3083462 bytes from ../../../src/ast/op-assignment.cc compiled on
bf-macintel-1 in 5.2362s, rate 575kB/s
distcc[71152] (dcc_unlock) release lock fd4
distcc[71152] compile ../../../src/ast/op-assignment.cc on
bf-macintel-1/4,lzo,cpp completed ok
distcc[71152] elapsed compilation time 13.271273s
distcc[71152] (dcc_exit) exit: code 0; self: 0.026961 user 0.019033 sys;
children: 0.635743 user 0.151445 sys
distcc[71152] (dcc_cleanup_tempfiles_inner) deleted 2 temporary files
__________Shutting down distcc-pump include server
Original comment by akim.demaille@gmail.com
on 16 Dec 2008 at 9:53
There's several issues here.
(1) The original issue with the include server barfing on the directories
with " (framework directory)" after them in the output of gcc -v.
It appears that the patch that I attached earlier is sufficient to address this
issue.
(2) configure doesn't correctly handle the case where popt.h is present but
libopt is not.
(3) The failing CPlusPlus_SystemIncludeDirectories_Case test.
Does your system have /usr/include/sys/types.h?
If not, that explains the problem, and I have a patch which will fix it.
(4) The following message
WARNING include server: Preprocessing locally. Include server
not covering: Bailing out because include server spent more
than 3.8s user time handling request for translation unit
'../../../src/ast/op-assignment.cc'
could be due to a known issue
(http://code.google.com/p/distcc/issues/detail?id=16).
If it is only occurring for a few translation units, then it may not be a
significant
problem. Distcc automatically falls back to local preprocessing (non-pump
mode).
However, if this message it is occurring for _every_ translation unit, even
trivial
ones, then that would indicate a more severe problem that we'd need to
investigate
further.
(5) The messages that you got following that initial message indicate a
different
problem:
distcc[52802] (dcc_select_for_write) ERROR: IO timeout
distcc[52802] ERROR: timeout while connecting to 147.250.35.197:3632
distcc[52802] Warning: failed to distribute ../../../src/ast-dump.cc
to 147.250.35.197/10,cpp, running locally instead
These messages indicate that even after falling back to local preprocessing,
distcc was unable to distribute the compilation; it was unable to
connect to the distccd server at host 147.250.35.197. This could be
due to a problem at that host, or due to an internet connectivity problem.
Original comment by fergus.h...@gmail.com
on 17 Dec 2008 at 4:51
This is the third time I submit my answer, it fails with
Bad Request
Your client has issued a malformed or illegal request.
--------------------------------------------------
Heck, everything I had typed was discarded when I submitted my message
:( I have to type it again going "back" had lost everything. This
interface is not very friendly :( Sorry if I'm terse, it's the second
time I type it.
(1) I'm now using the svn checkout + patch, same result.
(2) Yes.
(3) Yes, I do have /usr/include/sys/types.h. The same line without
distcc works fine. I have attached the log of make check, and a log I
found in the test dir.
(4) Bummer, we do use this Boost header :( I'll try to see if there
is a good match with failures. I have many files that use it :(
(5) Yes, I had a machine down, but the others were alive. I'm not
worried by this message, I am by the others.
Original comment by akim.demaille@gmail.com
on 18 Dec 2008 at 10:02
Attachments:
I'm sorry about the "Bad Request" problems.
If you can provide sufficient information to reproduce them,
we should be able to fix them.
(1) "same result" => could you clarify? Is it working now, or still not
working?
(2) I've made a separate issue 31 for this one.
(3) This looks like a re-occurrence of a bug that I thought was fixed in
revision
560. (You are testing this with an up-to-date version of distcc, not an old
version,
right?) distcc is supposed to be sending a symlink for /usr/include to distccd.
But the distccd.log file that you attached shows that distccd is not receiving
any
such entry.
Try invoking the following two shell commands from your distcc build directory:
echo '#include "types.h" ' > simpletest.cc
DISTCC_HOSTS=127.0.0.1,cpp,lzo ./pump ./distcc --scan-includes -I/usr/include/sys
-c simpletest.cc
On my system, this produces the output
__________Using distcc-pump from .
__________Using 1 distcc server in pump mode
FILE /home/fergus/distcc/mytest.cc
SYSTEMDIR /usr/local/include
SYSTEMDIR /usr/lib/gcc/i486-linux-gnu/4.0.3/include
SYSTEMDIR /usr/include
DIRECTORY /home/fergus/distcc
__________Shutting down distcc-pump include server
but from the symptoms in your distccd.log file I suspect you will not get the
SYSTEMDIR entries.
(4) If you do use that Boost header a lot, you may get better performance from
non-pump mode. This sub-issue is a duplicate of
http://code.google.com/p/distcc/issues/detail?id=16).
(5) "I had a machine down" => This sub-issue is resolved.
Original comment by fergus.h...@gmail.com
on 18 Dec 2008 at 7:33
Hi Fergus,
Sorry I don't have time right now to go into all the points. Wrt (3), the make
check faiures.
Yes, I'm up to date. I'm using the latest svn version plus the patch for OSX'
frameworks.
akim@montero ~/src/distcc $ svn up
At revision 635.
The batch of commands you asked me to run passes, but with a different output:
the SYSTEMDIR logs are missing. If I instrument _SystemSearchdirsGCC (I have
not found
an easy means to activate the debug traces), it reports a correct set of paths
though. The instrumentation I used is attached.
__________Using distcc-pump from .
__________Using 1 distcc server in pump mode
['/usr/include/c++/4.0.0', '/usr/include/c++/4.0.0/i686-apple-darwin9',
'/usr/include/c++/4.0.0/backward', '/usr/local/include',
'/usr/lib/gcc/i686-apple-
darwin9/4.0.1/include', '/usr/include']
system_dir: /usr/include/c++/4.0.0
A link above real_prefix has already been created with this routine.
system_dir: /usr/include/c++/4.0.0/i686-apple-darwin9
A link above real_prefix has already been created with this routine.
system_dir: /usr/include/c++/4.0.0/backward
A link above real_prefix has already been created with this routine.
system_dir: /usr/local/include
A link above real_prefix has already been created with this routine.
system_dir: /usr/lib/gcc/i686-apple-darwin9/4.0.1/include
A link above real_prefix has already been created with this routine.
system_dir: /usr/include
A link above real_prefix has already been created with this routine.
FILE /Users/akim/src/distcc/_build/i386-apple-darwin9.6.0/simpletest.cc
DIRECTORY /Users/akim/src/distcc/_build/i386-apple-darwin9.6.0
__________Shutting down distcc-pump include server
Original comment by akim.demaille@gmail.com
on 22 Dec 2008 at 11:05
Attachments:
I've been able to reproduce the problem and I understand it now.
The problem arises because /tmp is a symlink, and _RealPrefix is being used in
ways
that assume the client_root is not a symlink.
The following patch should fix it, I believe.
Original comment by fergus.h...@gmail.com
on 22 Dec 2008 at 10:17
Attachments:
I've gone ahead and committed both "patch" and "patch2" on the main branch,
as revisions 636 and 638 respectively.
But these changes haven't been reviewed by anyone else yet -
I would welcome a code review of these patches.
So sub-issues (1) and (3) should now be resolved by those two patches.
Sub-issue (5) was already resolved, and we have separate issues for sub-issue
(2) and
(4). So I'm going to go ahead and close this issue.
Original comment by fergus.h...@gmail.com
on 22 Dec 2008 at 10:30
By the way, akim, thanks for your efforts to track this down - they really
helped a lot!
Original comment by fergus.h...@gmail.com
on 22 Dec 2008 at 10:37
Hi Fergus,
Well, thanks for the way you handled this! I confess I'm amazed though that
this was never reported to you: my setup is very
standard for OSX. No Googlers are running it???
I'm happy to report the test suite is green. But at some point it becomes
verbose (see distcc.log). It looks like it is not meant.
Besides, apparently it tries to use "echo -n" which does not do what is
expected.
$ /bin/sh -c 'echo -n Hello; echo World'
-n Hello
World
You should use ECHO_N and ECHO_C from Autoconf. Or have a look at how Libtool
addresses this issue.
Best Xmas wishes.
Original comment by akim.demaille@gmail.com
on 23 Dec 2008 at 7:21
Attachments:
Original issue reported on code.google.com by
akim.demaille@gmail.com
on 15 Dec 2008 at 9:31Attachments: