[distcc] Build errors only when using distcc in parallel

Yang Zhang yanghatespam at gmail.com
Sat Mar 21 09:42:09 GMT 2009


Everything works fine if I build sequentially or if I don't use distcc:

$ make WTF= NPCH=1
...
distcc g++ -pipe -g3 -pthread  -Wall -Werror -Wextra
-Wstrict-null-sentinel -Wold-style-cast -Woverloaded-virtual
-Wsign-promo -Wformat=2 -Winit-self -Wswitch-enum -Wunused -Wfloat-equal
-Wundef -Wunsafe-loop-optimizations -Wpointer-arith -Wcast-qual
-Wcast-align -Wwrite-strings -Wconversion -Wlogical-op
-Wno-aggregate-return -Wno-missing-declarations
-Wno-missing-field-initializers -Wmissing-format-attribute -Wpacked
-Wredundant-decls -Winvalid-pch -Wlong-long -Wvolatile-register-var
-std=gnu++0x -march=native    -c -o ydb.o ydb.cc
distcc g++ -pipe -g3 -pthread  -Wall -Werror -Wextra
-Wstrict-null-sentinel -Wold-style-cast -Woverloaded-virtual
-Wsign-promo -Wformat=2 -Winit-self -Wswitch-enum -Wunused -Wfloat-equal
-Wundef -Wunsafe-loop-optimizations -Wpointer-arith -Wcast-qual
-Wcast-align -Wwrite-strings -Wconversion -Wlogical-op
-Wno-aggregate-return -Wno-missing-declarations
-Wno-missing-field-initializers -Wmissing-format-attribute -Wpacked
-Wredundant-decls -Winvalid-pch -Wlong-long -Wvolatile-register-var
-std=gnu++0x -march=native    -c -o main.o main.cc
distcc g++ -pipe -g3 -pthread  -Wall -Werror -Wextra
-Wstrict-null-sentinel -Wold-style-cast -Woverloaded-virtual
-Wsign-promo -Wformat=2 -Winit-self -Wswitch-enum -Wunused -Wfloat-equal
-Wundef -Wunsafe-loop-optimizations -Wpointer-arith -Wcast-qual
-Wcast-align -Wwrite-strings -Wconversion -Wlogical-op
-Wno-aggregate-return -Wno-missing-declarations
-Wno-missing-field-initializers -Wmissing-format-attribute -Wpacked
-Wredundant-decls -Winvalid-pch -Wlong-long -Wvolatile-register-var
-std=gnu++0x -march=native    -c -o stxn.o stxn.cc
distcc g++ -pipe -g3 -pthread  -Wall -Werror -Wextra
-Wstrict-null-sentinel -Wold-style-cast -Woverloaded-virtual
-Wsign-promo -Wformat=2 -Winit-self -Wswitch-enum -Wunused -Wfloat-equal
-Wundef -Wunsafe-loop-optimizations -Wpointer-arith -Wcast-qual
-Wcast-align -Wwrite-strings -Wconversion -Wlogical-op
-Wno-aggregate-return -Wno-missing-declarations
-Wno-missing-field-initializers -Wmissing-format-attribute -Wpacked
-Wredundant-decls -Winvalid-pch -Wlong-long -Wvolatile-register-var
-std=gnu++0x -march=native    -c -o tpcc.o tpcc.cc
distcc g++ -pipe -g3 -pthread  -Wall -Werror -Wextra
-Wstrict-null-sentinel -Wold-style-cast -Woverloaded-virtual
-Wsign-promo -Wformat=2 -Winit-self -Wswitch-enum -Wunused -Wfloat-equal
-Wundef -Wunsafe-loop-optimizations -Wpointer-arith -Wcast-qual
-Wcast-align -Wwrite-strings -Wconversion -Wlogical-op
-Wno-aggregate-return -Wno-missing-declarations
-Wno-missing-field-initializers -Wmissing-format-attribute -Wpacked
-Wredundant-decls -Winvalid-pch -Wlong-long -Wvolatile-register-var
-std=gnu++0x -march=native    -c -o util.o util.cc

But as soon as I introduce parallelism:

$ make WTF= NPCH=1 -j2
...
distcc g++ -pipe -g3 -pthread  -Wall -Werror -Wextra
-Wstrict-null-sentinel -Wold-style-cast -Woverloaded-virtual
-Wsign-promo -Wformat=2 -Winit-self -Wswitch-enum -Wunused -Wfloat-equal
-Wundef -Wunsafe-loop-optimizations -Wpointer-arith -Wcast-qual
-Wcast-align -Wwrite-strings -Wconversion -Wlogical-op
-Wno-aggregate-return -Wno-missing-declarations
-Wno-missing-field-initializers -Wmissing-format-attribute -Wpacked
-Wredundant-decls -Winvalid-pch -Wlong-long -Wvolatile-register-var
-std=gnu++0x -march=native    -c -o main.o main.cc
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/yang/work/assorted/ydb/trunk/src/tpcc'
distcc g++ -pipe -g3 -pthread  -Wall -Werror -Wextra
-Wstrict-null-sentinel -Wold-style-cast -Woverloaded-virtual
-Wsign-promo -Wformat=2 -Winit-self -Wswitch-enum -Wunused -Wfloat-equal
-Wundef -Wunsafe-loop-optimizations -Wpointer-arith -Wcast-qual
-Wcast-align -Wwrite-strings -Wconversion -Wlogical-op
-Wno-aggregate-return -Wno-missing-declarations
-Wno-missing-field-initializers -Wmissing-format-attribute -Wpacked
-Wredundant-decls -Winvalid-pch -Wlong-long -Wvolatile-register-var
-std=gnu++0x -march=native    -c -o stxn.o stxn.cc
distcc g++ -pipe -g3 -pthread  -Wall -Werror -Wextra
-Wstrict-null-sentinel -Wold-style-cast -Woverloaded-virtual
-Wsign-promo -Wformat=2 -Winit-self -Wswitch-enum -Wunused -Wfloat-equal
-Wundef -Wunsafe-loop-optimizations -Wpointer-arith -Wcast-qual
-Wcast-align -Wwrite-strings -Wconversion -Wlogical-op
-Wno-aggregate-return -Wno-missing-declarations
-Wno-missing-field-initializers -Wmissing-format-attribute -Wpacked
-Wredundant-decls -Winvalid-pch -Wlong-long -Wvolatile-register-var
-std=gnu++0x -march=native    -c -o tpcc.o tpcc.cc
distccd[2386] (tcp_cork_sock) Warning: setsockopt(corked=1) failed:
Socket operation on non-socket
In file included from /usr/include/c++/4.3/ext/new_allocator.h:38,
                  from
/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++allocator.h:40,
                  from /usr/include/c++/4.3/bits/allocator.h:54,
                  from /usr/include/c++/4.3/memory:56,
                  from /opt/armed/include/boost/get_pointer.hpp:9,
                  from /opt/armed/include/boost/mem_fn.hpp:26,
                  from /opt/armed/include/boost/bind.hpp:27,
                  from stxn.lzz:7,
                  from stxn.cc:5:
/usr/include/c++/4.3/new:95: error: \u2018operator new\u2019 takes type
\u2018size_t\u2019 (\u2018unsigned int\u2019) as first parameter
/usr/include/c++/4.3/new:96: error: \u2018operator new\u2019 takes type
\u2018size_t\u2019 (\u2018unsigned int\u2019) as first parameter
/usr/include/c++/4.3/new:99: error: \u2018operator new\u2019 takes type
\u2018size_t\u2019 (\u2018unsigned int\u2019) as first parameter
/usr/include/c++/4.3/new:100: error: \u2018operator new\u2019 takes type
\u2018size_t\u2019 (\u2018unsigned int\u2019) as first parameter
/usr/include/c++/4.3/new:105: error: \u2018operator new\u2019 takes type
\u2018size_t\u2019 (\u2018unsigned int\u2019) as first parameter
/usr/include/c++/4.3/new:106: error: \u2018operator new\u2019 takes type
\u2018size_t\u2019 (\u2018unsigned int\u2019) as first parameter
distcc[29710] ERROR: compile stxn.cc on @farm1 failed

Any ideas why this might be happening?  If you want to try it out
yourself (and are willing to deal with the dependencies) the source is
all available on svn:

https://assorted.svn.sourceforge.net/svnroot/assorted/ydb/trunk/src

Thanks in advance.
-- 
Yang Zhang
http://www.mit.edu/~y_z/


More information about the distcc mailing list