尽管匹配的编译器,distcc仍通过ssh进行故障切换

时间:2019-05-08 02:34:33

标签: ssh c++ gcc cross-platform distributed-computing

我正在尝试使用distcc为AWS服务器上的rPi交叉编译软件包。 ssh连接正在工作(构建节点上的journalctl | grep ssh显示登录名),显然文件甚至正在远程编译(rPi上的distcc不会报告任何编译错误),但是distcc也在尝试在本地进行构建,并报告远程编译失败,但没有更多详细信息。

我用gcc -c main.cpp调用distcc

并在stderr上获得以下输出:

distcc[16599] (dcc_trace_version) distcc 3.3.2 armv7l-unknown-linux-gnueabihf; built Oct  1 2018 12:26:39
distcc[16599] (dcc_recursion_safeguard) safeguard level=0
distcc[16599] (main) compiler name is "gcc"
distcc[16599] (dcc_set_path) setting PATH=/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
distcc[16599] (dcc_scan_args) scanning arguments: gcc -c main.cpp
distcc[16599] (dcc_scan_args) found input file "main.cpp"
distcc[16599] (dcc_scan_args) no visible output file, going to add "-o main.o" at end
distcc[16599] compile from main.cpp to main.o
distcc[16599] (dcc_gcc_rewrite_fqn) Re-writing call to 'gcc' to 'armv7l-unknown-linux-gnueabihf-gcc' to support cross-compilation.
distcc[16599] (dcc_get_hostlist) read hosts from environment
distcc[16599] (dcc_parse_hosts) found ssh token "distccc@54.187.89.181"
distcc[16599] (dcc_lock_host) got cpu lock on distccc@54.187.89.181 slot 0 as fd3
distcc[16599] (dcc_lock_host) got cpu lock on localhost slot 0 as fd4
distcc[16599] (dcc_note_state) note state 3, file "(NULL)", host "localhost"
distcc[16599] (dcc_strip_dasho) result: armv7l-unknown-linux-gnueabihf-gcc -c main.cpp
distcc[16599] (dcc_spawn_child) forking to execute: armv7l-unknown-linux-gnueabihf-gcc -E main.cpp
distcc[16599] (dcc_spawn_child) child started as pid16600
distcc[16599] (dcc_strip_local_args) result: armv7l-unknown-linux-gnueabihf-gcc -c main.cpp -o main.o
distcc[16599] exec on distccc@54.187.89.181: armv7l-unknown-linux-gnueabihf-gcc -c main.cpp -o main.o
distcc[16599] (dcc_note_state) note state 2, file "main.cpp", host "54.187.89.181"
distcc[16600] (dcc_new_pgrp) entered process group
distcc[16600] (dcc_increment_safeguard) setting safeguard: _DISTCC_SAFEGUARD=1
distcc[16599] (dcc_ssh_connect) connecting to 54.187.89.181 using ssh
distcc[16599] (dcc_run_piped_cmd) execute: ssh -l distccc 54.187.89.181 distccd --inetd --enable-tcp-insecure
distcc[16599] (dcc_note_state) note state 4, file "(NULL)", host "(NULL)"
distcc[16599] (dcc_x_token_int) send DIST00000001
distcc[16599] (dcc_x_token_int) send ARGC00000005
distcc[16599] (dcc_x_token_int) send ARGV00000022
distcc[16599] (dcc_x_token_string) send string 'armv7l-unknown-linux-gnueabihf-gcc'
distcc[16599] (dcc_x_token_int) send ARGV00000002
distcc[16599] (dcc_x_token_string) send string '-c'
distcc[16599] (dcc_x_token_int) send ARGV00000008
distcc[16599] (dcc_x_token_string) send string 'main.cpp'
distcc[16599] (dcc_x_token_int) send ARGV00000002
distcc[16599] (dcc_x_token_string) send string '-o'
distcc[16599] (dcc_x_token_int) send ARGV00000006
distcc[16599] (dcc_x_token_string) send string 'main.o'
distcc[16599] (dcc_note_state) note state 3, file "(NULL)", host "(NULL)"
distcc[16599] (dcc_collect_child) cpp child 16600 terminated with status 0
distcc[16599] (dcc_collect_child) cpp times: user 0.000000s, system 0.000000s, 0 minflt, 0 majflt
distcc[16599] cpp main.cpp on localhost completed ok
distcc[16599] (dcc_unlock) release lock fd4
distcc[16599] (dcc_x_file) send 143 byte file /tmp/distcc_0ff53da7.ii with token DOTI and compression 69
distcc[16599] (dcc_x_token_int) send DOTI0000008f
distcc[16599] (dcc_compile_remote) client finished sending request to server
distcc[16599] (dcc_note_state) note state 5, file "(NULL)", host "54.187.89.181"
distcc[16599] (dcc_select_for_read) select for read on fd7 for 300s
distcc[16599] (dcc_r_token_int) got DONE00000001
distcc[16599] (dcc_note_state) note state 6, file "(NULL)", host "(NULL)"
distcc[16599] (dcc_r_token_int) got STAT00006e00
distcc[16599] (dcc_r_token_int) got SERR0000006f
distcc[16599] (dcc_r_file) received 111 bytes to file /tmp/distcc_server_stderr_13f23da7.txt
distcc[16599] (dcc_r_token_int) got SOUT00000000
distcc[16599] (dcc_r_token_int) got DOTO00000000
distcc[16599] 143 bytes from main.cpp compiled on 54.187.89.181 in 3.0409s, rate 0kB/s
distcc[16599] (dcc_collect_child) ssh child 16601 terminated with status 0
distcc[16599] (dcc_collect_child) ssh times: user 0.000000s, system 0.000000s, 0 minflt, 0 majflt
distcc[16599] (dcc_remove_timefile) remove /home/homesec/.distcc/lock/backoff_ssh_54.187.89.181_0
distcc[16599] (dcc_unlock) release lock fd3
distcc[16599] ERROR: compile main.cpp on distccc@54.187.89.181 failed with exit code 110
distcc[16599] (dcc_build_somewhere) Warning: remote compilation of 'main.cpp' failed, retrying locally
distcc[16599] (dcc_mark_timefile) mark /home/homesec/.distcc/lock/backoff_ssh_54.187.89.181_0
distcc[16599] Warning: failed to distribute main.cpp to distccc@54.187.89.181, running locally instead
distcc[16599] (dcc_get_hostlist) read hosts from environment
distcc[16599] (dcc_parse_hosts) found ssh token "distccc@54.187.89.181"
distcc[16599] (dcc_lock_host) got cpu lock on localhost slot 0 as fd3
distcc[16599] exec on localhost: armv7l-unknown-linux-gnueabihf-gcc -c main.cpp -o main.o
distcc[16599] (dcc_note_state) note state 5, file "main.cpp", host "localhost"
distcc[16599] (dcc_spawn_child) forking to execute: armv7l-unknown-linux-gnueabihf-gcc -c main.cpp -o main.o
distcc[16599] (dcc_spawn_child) child started as pid16608
distcc[16608] (dcc_increment_safeguard) setting safeguard: _DISTCC_SAFEGUARD=1
distcc[16599] (dcc_collect_child) cc child 16608 terminated with status 0
distcc[16599] (dcc_collect_child) cc times: user 0.000000s, system 0.000000s, 0 minflt, 0 majflt
distcc[16599] compile main.cpp on localhost completed ok
distcc[16599] (dcc_please_send_email_after_investigation) Warning: remote compilation of 'main.cpp' failed, retried locally and got a different result.
distcc[16599] (dcc_unlock) release lock fd3
distcc[16599] elapsed compilation time 4.374381s
distcc[16599] (dcc_exit) exit: code 0; self: 0.007459 user 0.007459 sys; children: 0.213271 user 0.013530 sys
distcc[16599] (dcc_cleanup_tempfiles_inner) deleted 2 temporary files

对于可能出了什么问题,我没有看到任何具体指示。这是我正在使用的版本 在rPi上:

$ gcc --version
armv7l-unknown-linux-gnueabihf-gcc (GCC) 8.2.1 20181127

$ /usr/bin/gcc --version
gcc (GCC) 8.2.1 20181127

在构建服务器上:

[distccc@devel ~]$ gcc --version
gcc (GCC) 8.3.1 20190319

[distccc@devel ~]$ arm-linux-gnueabihf-gcc --version
arm-linux-gnueabihf-gcc (GCC) 8.2.1 20181127

我错过了什么吗?我可以采取进一步的调试步骤来获取更具体的错误消息吗?

0 个答案:

没有答案