And you think your compile box using distccd is ready you start emerge in your server/desktop/laptop and the first package is OK, the your emerge is using the distccd properly and the compilation is distributed to the compile box get compiled.
But just then another package gets a warning during build time:
distcc[9356] (dcc_build_somewhere) Warning: failed to distribute, running locally instead
So everything is back in your machine not in the compile box! And you find in the logs of the distccd compile box:
Apr 23 00:36:17 compile distccd[6177]: (dcc_execvp) ERROR: failed to exec x86_64-pc-linux-gnu-clang++: No such file or directory Apr 23 00:36:17 compile distccd[12965]: (dcc_job_summary) client: 10.10.10.10:54946 COMPILE_ERROR exit:110 sig:0 core:0 ret:0 time:3492ms x86_64-pc-linux-gnu-clang++ ../../v8/src/accessors.cc Apr 23 00:36:17 compile distccd[13490]: (dcc_job_summary) client: 10.10.10.10:54954 COMPILE_ERROR exit:110 sig:0 core:0 ret:0 time:1677ms x86_64-pc-linux-gnu-clang++ ../../v8/src/asmjs/asm-types.cc Apr 23 00:36:18 compile distccd[6178]: (dcc_execvp) ERROR: failed to exec x86_64-pc-linux-gnu-clang++: No such file or directory Apr 23 00:36:18 compile distccd[6097]: (dcc_job_summary) client: 10.10.10.10:54956 COMPILE_ERROR exit:110 sig:0 core:0 ret:0 time:2340ms x86_64-pc-linux-gnu-clang++ ../../v8/src/assembler.cc Apr 23 00:37:22 compile distccd[6180]: (dcc_execvp) ERROR: failed to exec x86_64-pc-linux-gnu-clang++: No such file or directory Apr 23 00:37:22 compile distccd[13307]: (dcc_job_summary) client: 10.10.10.10:54990 COMPILE_ERROR exit:110 sig:0 core:0 ret:0 time:1878ms x86_64-pc-linux-gnu-clang++ ../../v8/src/heap/incremental-marking-job.cc Apr 23 00:37:23 compile distccd[6184]: (dcc_execvp) ERROR: failed to exec x86_64-pc-linux-gnu-clang++: No such file or directory Apr 23 00:37:23 compile distccd[13719]: (dcc_job_summary) client: 10.10.10.10:54992 COMPILE_ERROR exit:110 sig:0 core:0 ret:0 time:2139ms x86_64-pc-linux-gnu-clang++ ../../v8/src/heap/incremental-marking.cc
Ahh you missed a package, then you emerge it fast with (assumed you used Gentoo, but the solution is valid for all distros)
[root@local ]# emerge -v sys-devel/clang sys-devel/clang-runtime
And start up the build process again (if Gentoo with emerge) and again the same situation? Again the same error, but you have the “x86_64-pc-linux-gnu-clang++” command and when you type x86_64-pc-linux-gnu-clang++ it executes properly! So what is the problem? The problem is that x86_64-pc-linux-gnu-clang++ is not in the current environment PATH:
compile ~ # whereis x86_64-pc-linux-gnu-clang++ x86_64-pc-linux-gnu-clang++: /usr/lib64/llvm/5/bin/x86_64-pc-linux-gnu-clang++
The solution is very simple just restart “distccd”. A trivial one, but could save you time next time! If you install a package, which is expected to be used with distccd restart distccd!!!
Under Getnoo:
compile ~ # /etc/init.d/distccd restart * Caching service dependencies ... * Stopping distccd ... [ ok ] * Starting distccd ... [ ok ] compile ~ #
* You might get error for another file, check if it exists if not install it and then restart the distccd daemon, for example you could get error for any of these:
x86_64-pc-linux-gnu-addr2line x86_64-pc-linux-gnu-elfedit x86_64-pc-linux-gnu-gprof x86_64-pc-linux-gnu-ar x86_64-pc-linux-gnu-g++ x86_64-pc-linux-gnu-ld x86_64-pc-linux-gnu-as x86_64-pc-linux-gnu-g++-6.4.0 x86_64-pc-linux-gnu-ld.bfd x86_64-pc-linux-gnu-c++ x86_64-pc-linux-gnu-g++-7.2.0 x86_64-pc-linux-gnu-ld.gold x86_64-pc-linux-gnu-c++-6.4.0 x86_64-pc-linux-gnu-gcc x86_64-pc-linux-gnu-libgcrypt-config x86_64-pc-linux-gnu-c++-7.2.0 x86_64-pc-linux-gnu-gcc-6.4.0 x86_64-pc-linux-gnu-llvm-config x86_64-pc-linux-gnu-c++filt x86_64-pc-linux-gnu-gcc-7.2.0 x86_64-pc-linux-gnu-nm x86_64-pc-linux-gnu-clang x86_64-pc-linux-gnu-gcc-ar x86_64-pc-linux-gnu-objcopy x86_64-pc-linux-gnu-clang++ x86_64-pc-linux-gnu-gcc-nm x86_64-pc-linux-gnu-objdump x86_64-pc-linux-gnu-clang-5.0 x86_64-pc-linux-gnu-gcc-ranlib x86_64-pc-linux-gnu-pcre-config x86_64-pc-linux-gnu-clang++-5.0 x86_64-pc-linux-gnu-gcov x86_64-pc-linux-gnu-pkg-config x86_64-pc-linux-gnu-clang-cl x86_64-pc-linux-gnu-gcov-6.4.0 x86_64-pc-linux-gnu-ranlib x86_64-pc-linux-gnu-clang-cl-5.0 x86_64-pc-linux-gnu-gcov-7.2.0 x86_64-pc-linux-gnu-readelf x86_64-pc-linux-gnu-clang-cpp x86_64-pc-linux-gnu-gcov-dump x86_64-pc-linux-gnu-size x86_64-pc-linux-gnu-clang-cpp-5.0 x86_64-pc-linux-gnu-gcov-tool x86_64-pc-linux-gnu-strings x86_64-pc-linux-gnu-cpp x86_64-pc-linux-gnu-gfortran x86_64-pc-linux-gnu-strip x86_64-pc-linux-gnu-cpp-6.4.0 x86_64-pc-linux-gnu-gfortran-6.4.0 x86_64-pc-linux-gnu-xml2-config x86_64-pc-linux-gnu-cpp-7.2.0 x86_64-pc-linux-gnu-gfortran-7.2.0 x86_64-pc-linux-gnu-xslt-config x86_64-pc-linux-gnu-curl-config x86_64-pc-linux-gnu-gio-querymodules