distcc отказывает по ssh несмотря на соответствующие компиляторы - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь использовать distcc для кросс-компиляции пакетов для моего RPI на сервере AWS. Соединение ssh работает (journalctl | grep ssh на узле сборки показывает логин), и, очевидно, файл даже компилируется удаленно (distcc на RPI не сообщает об ошибках компиляции), однако distcc также пытается построить локально и сообщает что удаленная компиляция не удалась, но без каких-либо подробностей.

Я вызываю distcc с gcc -c main.cpp

и получите следующий вывод на 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

Я не вижу конкретных указаний относительно того, что может быть не так. Вот версии, с которыми я работаю на рПи:

$ 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

Я что-то упустил? Могу ли я предпринять дальнейшие шаги по отладке, чтобы получить более конкретное сообщение об ошибке?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...