The problem was because I was farming out a 64-bit compilation to 32-bit machines. Specifying -m64 fixes this.

Yang Zhang wrote:
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/
__ distcc mailing list http://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc

Reply via email to