# [[SOLVED]] distcc

## cabana

Witajcie

Mam mały problem z distcc, właściwie to nie maly taki, dlatego postanowiłem zwrócić się do Was  :Smile: 

Odpalam kompilację tak

```

s1 linux-3.2.42-hardened-r1 # make CC="distcc gcc" -j5

make[1]: Nothing to be done for `relocs'.

  CHK     include/linux/version.h

  CHK     include/generated/utsrelease.h

  CALL    scripts/checksyscalls.sh

  CHK     include/generated/compile.h

  CC      arch/x86/platform/efi/efi_64.o

  CC      arch/x86/mm/hugetlbpage.o

distcc[15444] ERROR: compile arch/x86/platform/efi/efi_64.c on 192.168.2.11 failed

distcc[15444] (dcc_build_somewhere) Warning: remote compilation of 'arch/x86/platform/efi/efi_64.c' failed, retrying locally

distcc[15444] Warning: failed to distribute arch/x86/platform/efi/efi_64.c to 192.168.2.11, running locally instead

  CC      mm/readahead.o

  CC      kernel/sched.o

  CC      arch/x86/kernel/setup.o

^Cmake[1]: *** [mm/readahead.o] Interrupt

make[2]: *** [arch/x86/kernel/setup.o] Interrupt

make[2]: *** [arch/x86/mm/hugetlbpage.o] Interrupt

make[1]: *** [kernel/sched.o] Interrupt

make[1]: *** [arch/x86/kernel] Interrupt

make[1]: *** [arch/x86/mm] Interrupt

make: *** [kernel] Interrupt

make: *** [mm] Interrupt

make[3]: *** [arch/x86/platform/efi/efi_64.o] Interrupt

make[2]: *** [arch/x86/platform/efi] Interrupt

make[1]: *** [arch/x86/platform] Interrupt

make: *** [arch/x86] Interrupt

```

Na obu PC gentoo.

Maszyna na której chce kompilować 

```

s2 ~ # cat /etc/distcc/hosts 

# --- /etc/distcc/hosts -----------------------

# See the "Hosts Specification" section of

# "man distcc" for the format of this file.

#

# By default, just test that it works in loopback mode.

#127.0.0.1 192.168.2.10

s2 ~ # cat /etc/conf.d/distccd 

# /etc/conf.d/distccd: config file for /etc/init.d/distccd

DISTCCD_OPTS="'--verbose"

# this is the distccd executable 

DISTCCD_EXEC="/usr/bin/distccd"

# this is where distccd will store its pid file

DISTCCD_PIDFILE="/var/run/distccd/distccd.pid"

# set this option to run distccd with extra parameters

# Default port is 3632.  For most people the default is okay.

DISTCCD_OPTS="${DISTCCD_OPTS} --port 3632"

# Logging

# You can change some logging options here:

# --log-file FILE

# --log-level LEVEL  [critical,error,warning, notice, info, debug]

#

# Leaving --log-file blank will log to syslog

# example: --log-file /dev/null --log-level warning

# example: --log-level critical

#DISTCCD_OPTS="${DISTCCD_OPTS} --log-level critical"

DISTCCD_OPTS="${DISTCCD_OPTS} --log-level info --log-file /tmp/dest"

# SECURITY NOTICE:

# It is HIGHLY recomended that you use the --listen option

# for increased security. You can specify an IP to permit connections 

# from or a CIDR mask

# --listen accepts only a single IP

# --allow is now mandatory as of distcc-2.18.

# example:  --allow 192.168.0.0/24

# example:  --allow 192.168.0.5 --allow 192.168.0.150

# example:  --listen 192.168.0.2

DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.2.0/24 --allow 127.0.0.1"

#DISTCCD_OPTS="${DISTCCD_OPTS} --listen 192.168.0.2"

# set this for niceness

# Default is 15

DISTCCD_OPTS="${DISTCCD_OPTS} -N 15"

s2 ~ # cat /etc/make.conf 

CHOST="x86_64-pc-linux-gnu"

CFLAGS="-march=core2 -mtune=generic -O2 -pipe"

CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j3"

USE="bindist mmx sse sse2"

FEATURES="distcc"

GENTOO_MIRRORS="http://gentoo.mirror.pw.edu.pl/"

SYNC="rsync://rsync6.pl.gentoo.org/gentoo-portage"

```

Log:

```
distccd[8025] (dcc_listen_by_addr) listening on 0.0.0.0:3632

distccd[8025] (dcc_standalone_server) 2 CPUs online on this server

distccd[8025] (dcc_standalone_server) allowing up to 4 active jobs

distccd[8026] (dcc_log_daemon_started) preforking daemon started (3.1 x86_64-pc-linux-gnu, built May 11 2013 10:02:14)

distccd[8027] (dcc_check_client) connection from 192.168.2.10:37584

distccd[8027] compile from sched.c to sched.o

distccd[8027] (dcc_r_file_timed) 2088225 bytes received in 0.177260s, rate 11504kB/s

distccd[8027] (dcc_collect_child) cc times: user 0.000000s, system 0.000000s, 0 minflt, 0 majflt

distccd[8027] gcc kernel/sched.c on localhost failed

distccd[8027] job complete

distccd[8027] (dcc_job_summary) client: 192.168.2.10:37584 COMPILE_ERROR exit:1 sig:0 core:0 ret:0 time:2247ms gcc kernel/sched.c

distccd[8030] (dcc_check_client) connection from 192.168.2.10:37612

distccd[8030] compile from efi_64.c to efi_64.o

distccd[8030] (dcc_r_file_timed) 981941 bytes received in 0.082510s, rate 11622kB/s

distccd[8030] (dcc_collect_child) cc times: user 0.000000s, system 0.000000s, 0 minflt, 0 majflt

distccd[8030] gcc arch/x86/platform/efi/efi_64.c on localhost failed

distccd[8030] job complete

distccd[8030] (dcc_job_summary) client: 192.168.2.10:37612 COMPILE_ERROR exit:1 sig:0 core:0 ret:0 time:1304ms gcc arch/x86/platform/efi/efi_64.c

```

Maszyna na którą ma być kompilowane

```
s1 # cat /etc/distcc/hosts 

192.168.2.11 127.0.0.1

s1 # cat /etc/conf.d/distccd 

# /etc/conf.d/distccd: config file for /etc/init.d/distccd

DISTCCD_OPTS=""

# this is the distccd executable 

DISTCCD_EXEC="/usr/bin/distccd"

# this is where distccd will store its pid file

DISTCCD_PIDFILE="/var/run/distccd/distccd.pid"

# set this option to run distccd with extra parameters

# Default port is 3632.  For most people the default is okay.

DISTCCD_OPTS="${DISTCCD_OPTS} --port 3632"

# Logging

# You can change some logging options here:

# --log-file FILE

# --log-level LEVEL  [critical,error,warning, notice, info, debug]

#

# Leaving --log-file blank will log to syslog

# example: --log-file /dev/null --log-level warning

# example: --log-level critical

#DISTCCD_OPTS="${DISTCCD_OPTS} --log-level warning"

DISTCCD_OPTS="${DISTCCD_OPTS} --log-level info --log-file /tmp/dest"

# SECURITY NOTICE:

# It is HIGHLY recomended that you use the --listen option

# for increased security. You can specify an IP to permit connections 

# from or a CIDR mask

# --listen accepts only a single IP

# --allow is now mandatory as of distcc-2.18.

# example:  --allow 192.168.0.0/24

# example:  --allow 192.168.0.5 --allow 192.168.0.150

# example:  --listen 192.168.0.2

DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.2.0/24 --allow 127.0.0.1"

#DISTCCD_OPTS="${DISTCCD_OPTS} --listen 1"

# set this for niceness

# Default is 15

DISTCCD_OPTS="${DISTCCD_OPTS} -N 10"

s1 # cat /etc/make.conf 

CFLAGS="-O2 -march=native -mfpmath=sse -mmmx -mssse3 -pipe -fomit-frame-pointer" 

CXXFLAGS="${CFLAGS}" 

CHOST="x86_64-pc-linux-gnu"

MAKEOPTS="-j5"

GENTOO_MIRRORS="http://gentoo.mirror.pw.edu.pl/"

SYNC="rsync://rsync6.pl.gentoo.org/gentoo-portage"

USE="bindist mmx sse sse2 ipv6 -cups mysql cgi pam ssl xml mysqli pear mcrypt imagick" 

FEATURES="distcc"
```

Log:

```

distccd[11160] (dcc_check_client) connection from 127.0.0.1:52660

distccd[11157] (dcc_check_client) connection from 127.0.0.1:52661

distccd[11236] (dcc_check_client) connection from 127.0.0.1:52662

distccd[11236] compile from readahead.c to readahead.o

distccd[11157] compile from setup.c to setup.o

distccd[11161] (dcc_collect_child) ERROR: Client fd disconnected, killing job

distccd[11161] gcc arch/x86/mm/hugetlbpage.c on localhost failed with exit code 107

distccd[11161] job complete

distccd[11160] compile from sched.c to sched.o

distccd[11160] (dcc_readx) ERROR: unexpected eof on fd5

distccd[11160] (dcc_r_token_int) ERROR: read failed while waiting for token "DOTI"

distccd[11157] (dcc_pump_readwrite) ERROR: unexpected eof on fd5

distccd[11161] (dcc_job_summary) client: 127.0.0.1:52659 CLI_DISCONN exit:107 sig:0 core:0 ret:0 time:1584ms 

distccd[11160] (dcc_job_summary) client: 127.0.0.1:52660 OTHER exit:0 sig:0 core:0 ret:108 time:502ms 

distccd[11157] (dcc_r_file_timed) 1296375 bytes received in 0.056630s, rate 22355kB/s

distccd[11157] (dcc_job_summary) client: 127.0.0.1:52661 CLI_DISCONN exit:0 sig:0 core:0 ret:107 time:311ms 

distccd[11236] (dcc_r_file_timed) 979430 bytes received in 0.091208s, rate 10487kB/s

distccd[11236] (dcc_collect_child) ERROR: Client fd disconnected, killing job

distccd[11236] gcc mm/readahead.c on localhost failed with exit code 107

distccd[11236] job complete

distccd[11236] (dcc_job_summary) client: 127.0.0.1:52662 CLI_DISCONN exit:107 sig:0 core:0 ret:107 time:93

```

Proszę o jakieś wskazówki lub pomoc 

Z góry dziękuje za jakąkolwiek pomoc  :Smile: 

Pozdrawiam  :Smile: Last edited by cabana on Sun May 12, 2013 8:31 am; edited 1 time in total

----------

## lazy_bum

 *Quote:*   

> Maszyna na którą ma być kompilowane 
> 
> ```
> 
>  CFLAGS="-O2 -march=native -mfpmath=sse -mmmx -mssse3 -pipe -fomit-frame-pointer"
> ...

 

Jeżeli się nie mylę, to distcc nie za bardzo się lubi z „native”.

PS Dlaczego CC="distcc" z palca? Nie lepiej użyć, jak dokumentacja przykazuje, FEATURES?

----------

## cabana

 *lazy_bum wrote:*   

>  *Quote:*   Maszyna na którą ma być kompilowane 
> 
> ```
> 
>  CFLAGS="-O2 -march=native -mfpmath=sse -mmmx -mssse3 -pipe -fomit-frame-pointer"
> ...

 

Ok, spróbuje core2  :Smile: 

Mam w make.conf też dodane to  :Wink: 

OK Działa na core2  :Smile: 

Dzięki   :Smile: 

----------

