View previous topic :: View next topic |
Author |
Message |
sebekk23 Tux's lil' helper
Joined: 29 Mar 2015 Posts: 78
|
Posted: Sat May 09, 2020 3:24 pm Post subject: Distcc works with portage(emerge) doesn't work with make |
|
|
Hi
I'm tying to compile custom kernel on ARM board with distcc but it doesn't work. With portage distcc works as expected. I got following logs on my server machines when building with make:
Code: |
maj 09 17:02:03 hp distccd[3130]: (dcc_run_job) Warning: -fplugin= and/or -specs= passed, which are insecure and not supported.
maj 09 17:02:03 hp distccd[3130]: (dcc_job_summary) client: 192.168.2.22:52042 OTHER exit:0 sig:0 core:0 ret:0 time:5679m
|
and on arm machine
Code: |
CC scripts/mod/devicetable-offsets.s
CC scripts/mod/empty.o
distcc[7075] (dcc_readx) ERROR: unexpected eof on fd7
distcc[7075] (dcc_r_token_int) ERROR: read failed while waiting for token "DONE"
distcc[7075] (dcc_r_result_header) ERROR: server provided no answer. Is the server configured to allow access from your IP address? Is the server performing authentication and your client isn't? Does the server have the compiler installed? Is the server configured to access the compiler?
distcc[7075] Warning: failed to distribute scripts/mod/empty.c to 192.168.2.4, running locally instead
distcc[7074] (dcc_readx) ERROR: unexpected eof on fd7
distcc[7074] (dcc_r_token_int) ERROR: read failed while waiting for token "DONE"
distcc[7074] (dcc_r_result_header) ERROR: server provided no answer. Is the server configured to allow access from your IP address? Is the server performing authentication and your client isn't? Does the server have the compiler installed? Is the server configured to access the compiler?
distcc[7074] Warning: failed to distribute scripts/mod/devicetable-offsets.c to 192.168.2.6, running locally instead
|
My network is as follows:
- 192.168.2.22 arm machine (no distccd running) - client
- 192.168.2.4 Intel machine (systemd + distccd running) - server
- 192.168.2.6 Amd machine (systemd + distccd running) - server
On servers i've setup Environment=ALLOWED_SERVERS=192.168.2.0/24 for systemd unit (and it works perfectly with emerge)
Arm machine(client) /etc/distcc/hosts
Code: |
192.168.2.6 192.168.2.4
|
I've tried to invoke make like that: make $MAKEOPTS CC="distcc gcc" uImage (where $MAKEOPTS are from make.conf) and make $MAKEOPTS uImage - nothing works
eselect binutils list
- from ARM
Code: |
[1] armv7a-unknown-linux-gnueabihf-2.30
[2] armv7a-unknown-linux-gnueabihf-2.34 *
|
- from servers
Code: |
[1] armv7a-hardfloat-linux-gnueabi-2.34 *
[2] armv7a-unknown-linux-gnueabihf-2.34 *
[3] x86_64-pc-linux-gnu-2.34 *
|
eselect gcc list
- from ARM
Code: |
[1] armv7a-unknown-linux-gnueabihf-9.3.0 *
|
- from servers
Code: |
[1] armv7a-hardfloat-linux-gnueabi-2.34 *
[2] armv7a-unknown-linux-gnueabihf-2.34 *
[3] x86_64-pc-linux-gnu-2.34 *
|
|
|
Back to top |
|
|
sebekk23 Tux's lil' helper
Joined: 29 Mar 2015 Posts: 78
|
Posted: Sat May 09, 2020 3:26 pm Post subject: |
|
|
I almost forgot
Code: |
export PATH="/usr/lib/distcc/bin:${PATH}"
|
is set on ARM machine |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22696
|
Posted: Sat May 09, 2020 3:46 pm Post subject: |
|
|
It looks to me like distcc has no problem distributing. The problem is that the build system is passing arguments that distcc does not support ("which are insecure and not supported"), so the attempt to distribute fails. Configure the build system not to pass those arguments. Most likely, you enabled one of the kernel's compiler plugins, which causes it to add -fplugin to the compiler command line. |
|
Back to top |
|
|
sebekk23 Tux's lil' helper
Joined: 29 Mar 2015 Posts: 78
|
Posted: Sat May 09, 2020 5:03 pm Post subject: |
|
|
Quote: | Most likely, you enabled one of the kernel's compiler plugins, |
Thx but how i did that ??
I didn't enable any plugin by my self. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54578 Location: 56N 3W
|
Posted: Sat May 09, 2020 5:12 pm Post subject: |
|
|
sebekk23,
distcc for the kernel is doing it the the hard way.
The kernel is one of the most cross compile friendly packages there is.
You have all the tools, or distcc would not work at all, cross compile your arm kernel. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
|