View previous topic :: View next topic |
Author |
Message |
AthlonRob n00b
Joined: 19 Jan 2003 Posts: 37
|
Posted: Mon Jan 20, 2003 7:27 am Post subject: distcc and ccache |
|
|
I'm pulling my hair out here and think I need a few pointers...
I want to use distcc and ccache because I think I'm going to have to do a lot of compiling in order to get java working properly.
The first thread I found just said I needed to add CC='distcc' and CXX='distcc g++' (and the servers line) to my make.conf file... that was, unfortunately, ignored by portage. So I started getting a little more in depth. I added the CC and CXX values to the MAKEOPTS line - but that caused:
Code: | make: *** No rule to make target `g++''. Stop. |
And I haven't even begun to look in to getting ccache working, but think it will be basically the same.
Another post mentioned needing to comment out the CC= and CXX= lines in /etc/env.d/05gcc because they were overriding the values set in make.conf. No dice, make.conf's values are still being ignored.
It just seems like every tidbit of information I'm running in to is outdated, unfortunately.
So, I ask... can anybody who has distcc and/or ccache working with 1.4r2 let me in on exactly how they did this? I would be forever grateful.
It would be way cool if down the line we could just specify the distcc hosts and that we wanted to use distcc and ccache in our make.conf file and gentoo would take care of all this for us... I suppose it is too late for that to make it in 1.4, though.
Rob |
|
Back to top |
|
|
AlterEgo Veteran
Joined: 25 Apr 2002 Posts: 1619
|
Posted: Mon Jan 20, 2003 10:07 am Post subject: |
|
|
https://forums.gentoo.org/viewtopic.php?p=92735#92735
Useful trick (compiling the kerrnel), so can can see whether disctcc actually works, without worrying about make.conf.
I also needed this tip,
and this one make make it all work smoothly.
But java: I doubt whether distcc works when compiling java. |
|
Back to top |
|
|
AthlonRob n00b
Joined: 19 Jan 2003 Posts: 37
|
Posted: Mon Jan 20, 2003 6:36 pm Post subject: |
|
|
I must be completely losing my mind.
I emerged distcc
I added:
Code: | CC="dgcc"
CXX="dg++" |
to make.conf, at the end.
I created dgcc and dg++ as:
Code: | #!/bin/sh
ccache distcc gcc $@ #modified for g++ in dg++ |
That should work, shouldn't it?
I read all through the posts (their whole threads) you posted... the only one left I don't think I've tried is the actual portage hack mentioned here. However, that mentions portage 2.0.46r2, and I'm on 2.0.46r9.
It is as if make.conf is being totally, completely, and utterly ignored. It was read once, as my CFLAGS and CXXFLAGS appear in emerge info, but doesn't seem to be getting read any more at all. I'm new to Gentoo - just put it on the laptop to see what all the buzz was about (coming from Slackware) a few days ago. It was my understanding that if you edited make.conf and then ran env-update, the new values set in make.conf would be used. Was I totally off?
Code: | gentoo etc # echo "THIS='A TEST'" >> /etc/make.conf && env-update && emerge info
>>> Regenerating /etc/ld.so.cache...
Portage 2.0.46-r9 (default-x86-1.4, gcc-3.2.1, glibc-2.3.1-r3)
=================================================================
System uname: 2.4.20-gentoo-r1 i686 Mobile Intel(R) Pentium(R) 4 - M CPU 1.70GHz
GENTOO_MIRRORS="http://www.ibiblio.org/pub/Linux/distributions/gentoo"
CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY=""
USE="x86 apm arts cups gif libg++ libwww mikmod mmx motif ncurses qtmt spell svga xv gdbm berkdb slang readline guile X tcpd pam ssl perl python esd imlib oggvorbis gtk opengl -gnome -kde qt -postgres jpeg png truetype xml xml2 avi aalib mpeg encode fbcon sse -3dnow bonobo -cdr -cjk crypt evo ggz -gpm -gps gtk2 gtkhtml java libgda mozilla -nls oss alsa pcmcia pda pdflib plotutils quicktime samba sdl tcltk xmms zlib"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -ffast-math -O3 -s -funroll-loops -pipe"
CXXFLAGS="-mcpu=pentium4 -march=i386 -O3 -pipe -s"
ACCEPT_KEYWORDS="x86 ~x86"
MAKEOPTS="-j3"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
FEATURES="sandbox ccache buildpkg" |
If I totally misunderstood how this whole thing works... I apologize. If you can, point me in the right direction or to some good docs....
Rob |
|
Back to top |
|
|
AlterEgo Veteran
Joined: 25 Apr 2002 Posts: 1619
|
Posted: Mon Jan 20, 2003 7:31 pm Post subject: |
|
|
Strange All I can say is, it works for me.
Please go back one step, and test whether your basic distcc-setup works, by testing it during a kernel build(which is make.conf-independent).
That will at least help us to pinpoint the problem.
Code:
# make menuconfig
# make dep && make clean
# export DISTCC_HOSTS="....."
# make CC="distcc" -j3 bzImage
# make CC="distcc" -j3 modules
# make modules_install
# [copy your kernel, etc. etc.]
If this works, you know for sure distcc works. (and that's something)
Also, you can try and run the distcc-daemon (that does not work when run as root (!)) as a normal user on all machines, and tail the output for possible clues:
distccd --verbose --daemon log-file=/home/<yourname>/distccd.log
tail -f /home/<yourname>/distccd.log |
|
Back to top |
|
|
AthlonRob n00b
Joined: 19 Jan 2003 Posts: 37
|
Posted: Mon Jan 20, 2003 7:52 pm Post subject: |
|
|
I'm sorry, I meant to say (hell, I said everything else...) that distcc *was* working, by itself.
I kludged it and got it working a few minutes ago, now.
Don't ask me why, 'cause I franky don't know... lol
I set my MAKEOPTS line to: Code: | MAKEOPTS="-j3 CC='dgcc' CXX='dg++'" | and added Code: | export DISTCC_HOSTS="duron localhost" | to /etc/profile, under where Root's path is defined (so it is set for root alone).
MAKEOPTS is read when I actually emerge something, although make.conf is still being utterly ignored by emerge info. CC and CXX are still being ignored when I actually emerge something, though, but they get through when I put them on the MAKEOPTS line... this also fixes the problem I was having with 'no rule to make g++' when I had CXX='distcc g++' on the MAKEOPTS line.
Whatever, it is working now, for the most part... now I wonder if it is working for java.... I might need to munge the path settings a bit and adjust my dgcc and dg++ scripts to call the full path to gcc and g++, making symlinks so they can be called gcc and g++.... so java won't have any freakin' choice but to use g++. <g>
Thanks for the help and pointers and links!
Rob |
|
Back to top |
|
|
AthlonRob n00b
Joined: 19 Jan 2003 Posts: 37
|
Posted: Mon Jan 20, 2003 10:52 pm Post subject: |
|
|
AthlonRob wrote: |
Whatever, it is working now, for the most part... now I wonder if it is working for java.... I might need to munge the path settings a bit and adjust my dgcc and dg++ scripts to call the full path to gcc and g++, making symlinks so they can be called gcc and g++.... so java won't have any freakin' choice but to use g++. <g> |
FWIW, this idea didn't work to compile Java.
No ccache and no distcc.
*sigh*
I wonder if it'll work for OpenOffice?
Rob |
|
Back to top |
|
|
AlterEgo Veteran
Joined: 25 Apr 2002 Posts: 1619
|
Posted: Tue Jan 21, 2003 12:16 pm Post subject: |
|
|
Great you finally got it working
I thought it would not work for java. I'm not sure if one can do things like distcc to a java-compiler. On the other hand: why not ? (but how?)
I could not get distcc to work properly with OpenOffice. |
|
Back to top |
|
|
AthlonRob n00b
Joined: 19 Jan 2003 Posts: 37
|
Posted: Thu Jan 23, 2003 1:08 am Post subject: |
|
|
I think OpenOffice uses the java compiler too, doesn't it?
If we could just force it to use distcc instead of g++, it should be fine... I've only run in to one thing that bails out with distcc and that may be because one of my distccd servers is on GCC 3.2.0 vs 3.2.1....
I just joined the distcc mailing list... perhaps I'll ask them about working with the java compiler, too.
Rob |
|
Back to top |
|
|
contigab n00b
Joined: 18 Dec 2002 Posts: 57 Location: Italy
|
Posted: Mon Jan 27, 2003 12:22 pm Post subject: |
|
|
i have made it to work in the following way:
edit file /etc/env.d/05gcc and change/add the lines
CC="distcc gcc"
CXX="distcc g++"
DISTCC_HOSTS="host1 host2 ... "
and then env-update
you may want to edit make.conf to set
MAKEOPTS="-j4" (i have 2 cpu's)
In this way the CC and GCC values are assumed to be the standard one for the distribution and they will never be overwritten.
As a drawback you have that you will ALWAYS use distcc now, in order to compile locally you have to switch back to your old 05gcc file.
By the way, profile.env (file which holds config values) is built from the files included in env.d so changing it directly is useless, it will be automatically overwritten. _________________ Linux! |
|
Back to top |
|
|
stig Apprentice
Joined: 03 Sep 2002 Posts: 289 Location: Bærum, Norway
|
Posted: Wed Feb 05, 2003 3:04 pm Post subject: |
|
|
I find this thread most useful, thogh I still experience som problems making distcc work properly.
Here is a little output (relevant parts):
Code: |
checking for i686-pc-linux-gnu-gcc... distcc gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for executable suffix...
checking for object suffix... configure: error: cannot compute OBJEXT: cannot compile
!!! ERROR: sys-libs/ncurses-5.3-r1 failed.
!!! Function econf, Line 11, Exitcode 1
!!! econf failed
|
The server echoes this:
Code: |
Feb 5 15:43:20 [distccd] (dcc_execvp) ERROR: failed to exec gcc: No such file or directory |
The machine I want to help to an easy life:
Code: |
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/specs
Configured with: /var/tmp/portage/gcc-3.2.1/work/gcc-3.2.1/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --target=i686-pc-linux-gnu --with-system-zlib --enable-languages=c,c++,ada,f77,objc,java --enable-threads=posix --enable-long-long --disable-checking --enable-cstdio=stdio --enable-clocale=generic --enable-__cxa_atexit --enable-version-specific-runtime-libs --with-gxx-include-dir=/usr/include/g++-v32 --with-local-prefix=/usr/local --enable-shared --enable-nls --without-included-gettext
Thread model: posix
gcc version 3.2.1
|
/etc/env.d/05gcc:
Code: |
LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1"
CC="distcc gcc"
CXX="distcc g++"
DISTCC_HOSTS="host1 localhost"
|
/etc/make.conf:
Code: |
DISTCC_HOSTS="host1 localhost"
DISTCC_VERBOSE=1
MAKEOPTS="-j4"
|
The machine which acts as server:
Code: |
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/specs
Configured with: /var/tmp/portage/gcc-3.2.1-r6/work/gcc-3.2.1/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.2 --includedir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.2 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.2/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.2/info --enable-shared --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu --with-system-zlib --enable-languages=c,c++,ada,f77,objc,java --enable-threads=posix --enable-long-long --disable-checking --enable-cstdio=stdio --enable-clocale=generic --enable-__cxa_atexit --enable-version-specific-runtime-libs --with-gxx-include-dir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/include/g++-v3 --with-local-prefix=/usr/local --enable-shared --disable-nls
Thread model: posix
gcc version 3.2.1 20021207 (Gentoo Linux 3.2.1-20021207)
|
/etc/env.d/05gcc:
Code: |
PATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2"
ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2"
MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/man"
INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/info"
CC="gcc"
CXX="g++"
LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1"
|
/etc/make.conf:
_________________ Allting har en ende, pølsen den har to. |
|
Back to top |
|
|
TwoSlick Tux's lil' helper
Joined: 22 Apr 2002 Posts: 114 Location: Rolla, MO
|
Posted: Thu Feb 06, 2003 6:38 am Post subject: |
|
|
It appears that portage has just been updated to use distcc as well as ccache features. I just tried it out, and it works GREAT, and EASILY....
Here's how to do it in a few simple steps.
1. If you modified your /etc/env.d/05gcc, change it back to it's original form, or your programs won't compile. Change the lines back to:
Then do your env-update.
2. The only line you should have added to your make.conf file should be: Code: | DISTCC_HOSTS="computer1 computer2 etc..." |
3. Modify your MAKEOPTS line. Mine looks like this:
4. Then the FEATURES line should read something like this: Code: | FEATURES="ccache distcc" (along with any other options you want) |
That should basically be everything you need to do. (except to emerge ccache and set up distcc on your computers of course) These modifications only change how portages compiles work, not manual compiles.
- Tim |
|
Back to top |
|
|
stig Apprentice
Joined: 03 Sep 2002 Posts: 289 Location: Bærum, Norway
|
Posted: Thu Feb 06, 2003 9:47 am Post subject: |
|
|
This almost sounded like magic
I was woundering which version of protage you're talking about?
After emerging ccache, it says that:
Quote: |
Portage 2.0.6+ will automaticlly take advantage of ccache with no additional steps[...]
|
As far as I can tell, I use portage v. 2.0.46-r9 wich seemes to be the latest.
I recon the
Still works in make.conf?
Anyway...It doesen't do anything here. No jobs are being distributed, and no connections to the server is made. More tips? _________________ Allting har en ende, pølsen den har to. |
|
Back to top |
|
|
georgz Tux's lil' helper
Joined: 06 Dec 2002 Posts: 137 Location: Munich, Germany
|
Posted: Thu Feb 06, 2003 11:19 am Post subject: distcc doesn't work anymore |
|
|
I'm abit stuck, my distcc doesn't work anymore.
Code: |
/etc/env.d/05gcc
CC="distgcc"
CXX="distg++"
d-emuc07-132-39 root # cat /usr/bin/distgcc
#!/bin/sh
distcc $@
d-emuc07-132-39 root # cat /usr/bin/distg++
#!/bin/sh
distcc g++ $@
/etc/make.conf
DISTCC_HOSTS="kennzo localhost"
DISTCC_VERBOSE=1
|
But it doesn't work anymore, see
Code: |
d-emuc07-132-39 root # emerge sash
Calculating dependencies ...done!
>>> emerge (1 of 1) app-shells/sash-3.4-r5 to /
>>> md5 ;-) sash-3.4.tar.gz
>>> md5 ;-) sash-3.x-readline.diff.gz
>>> Unpacking source...
>>> Unpacking sash-3.4.tar.gz
patching file Makefile
patching file cmds.c
patching file sash.c
Hunk #1 succeeded at 372 (offset 6 lines).
Hunk #3 succeeded at 729 (offset 6 lines).
Hunk #5 succeeded at 775 (offset 6 lines).
>>> Source unpacked.
distgcc -pipe -march=pentium3 -O3 -pipe -DHAVE_GZIP -DHAVE_EXT2 -DHAVE_READLINE -c -o sash.o sash.c
distccd[505] (dcc_execvp) ERROR: failed to exec cc: No such file or directory
make: *** [sash.o] Error 110
!!! ERROR: app-shells/sash-3.4-r5 failed.
!!! Function src_compile, Line 39, Exitcode 2
!!! (no error message)
|
It doesn't work for all ebuilds...
Can anybody give me a tip what could be wrong? |
|
Back to top |
|
|
stig Apprentice
Joined: 03 Sep 2002 Posts: 289 Location: Bærum, Norway
|
Posted: Thu Feb 06, 2003 12:06 pm Post subject: |
|
|
I have almost the same problem - when the client connects to the server, gcc (or in your case cc) is nowhere to be found.
Here is mine:
Code: |
Feb 6 13:00:57 [distccd] (dcc_execvp) ERROR: failed to exec gcc: No such file or directory
|
_________________ Allting har en ende, pølsen den har to. |
|
Back to top |
|
|
georgz Tux's lil' helper
Joined: 06 Dec 2002 Posts: 137 Location: Munich, Germany
|
Posted: Thu Feb 06, 2003 1:16 pm Post subject: |
|
|
Works again!
On the second machine I had started distccd with /etc/init.d/distccd start.
Then it runs as user nobody.
When I start distccd as oridinary user it works fine:
/usr/bin/distccd --verbose --log-file=/tmp/distccd.log --daemon
Now the question to find out is why doesn't it work as nobody? |
|
Back to top |
|
|
ccpetersen n00b
Joined: 11 Jun 2002 Posts: 25
|
Posted: Thu Feb 06, 2003 2:45 pm Post subject: |
|
|
Quote: | Now the question to find out is why doesn't it work as nobody? |
Because when distccd is started as nobody the PATH does not include the gcc directory. You must have
Code: | PATH=`gcc-config --get-bin-path` |
in the file /etc/init.d/distccd so that distccd can find gcc.
Which leads to another bit of bad advice in this this thread. You shouldn't alter /etc/init.d/05gcc. That file gets overwritten every time gcc-config is run by you or another program. Go into the /etc/init.d/gcc directory and modify the file which corresponds with the version of gcc you want to run(in most cases there is only one entry). Then run:
Code: | gcc-config --use-old
env-update
source /etc/profile
|
Another point of confusion is that the file /etc/make.conf has nothing to do with the program make. /etc/emerge.conf might have been a better choice. What this means is that if you want distcc to work with compiles that use make it's best to specify the options on the make command line or with a simple wrapper script. Like this:
Code: | make DISTCC_HOSTS="localhost bigmachine" -j4 bzImage
|
|
|
Back to top |
|
|
TwoSlick Tux's lil' helper
Joined: 22 Apr 2002 Posts: 114 Location: Rolla, MO
|
Posted: Thu Feb 06, 2003 2:58 pm Post subject: |
|
|
Quote: | I was woundering which version of protage you're talking about? |
Actually last night after rsyncing and checking for updates portage got updated to: 2.0.46-r11
When I did my etc-update, I noticed that it wanted to change my FEATURES line in make.conf to include distcc. I update pretty regularly, so I think it just got updated yesterday.
- TwoSlick |
|
Back to top |
|
|
georgz Tux's lil' helper
Joined: 06 Dec 2002 Posts: 137 Location: Munich, Germany
|
Posted: Thu Feb 06, 2003 3:03 pm Post subject: |
|
|
ccpetersen: The thing is that this is in the startup file:
[ Code: | code]
kennzo root # cat /etc/init.d/distccd
#!/sbin/runscript
depend() {
need net
}
start() {
rm -rf /var/tmp/distccd.pid
ebegin "Starting distccd"
PATH=`gcc-config --get-bin-path` /sbin/start-stop-daemon --start --quiet --startas /usr/bin/distccd \
-c nobody --pidfile /var/tmp/distccd.pid \
-- --pid-file /var/tmp/distccd.pid
eend $? "Failed to Start distccd"
| [/code] |
|
Back to top |
|
|
ccpetersen n00b
Joined: 11 Jun 2002 Posts: 25
|
Posted: Thu Feb 06, 2003 3:13 pm Post subject: |
|
|
What's the output of `which gcc`?
and `gcc-config --get-bin-path`. |
|
Back to top |
|
|
georgz Tux's lil' helper
Joined: 06 Dec 2002 Posts: 137 Location: Munich, Germany
|
Posted: Thu Feb 06, 2003 3:22 pm Post subject: |
|
|
Code: |
d-emuc07-132-39 root # which gcc
/usr/bin/gcc
d-emuc07-132-39 root # gcc-config --get-bin-path
/usr/i686-pc-linux-gnu/gcc-bin/3.2
d-emuc07-132-39 root # gcc --version
gcc (GCC) 3.2.1 20021207 (Gentoo Linux 3.2.1-20021207)
|
|
|
Back to top |
|
|
ccpetersen n00b
Joined: 11 Jun 2002 Posts: 25
|
Posted: Thu Feb 06, 2003 4:58 pm Post subject: |
|
|
I can't see anything that's obviously wrong. I take it your running distcc 1.1 (~x86) not distcc 0.15. If you are running distcc 0.15 then /usr/bin/gcc shouldn't be there.
Other than that the setup you describe works here. |
|
Back to top |
|
|
charlesnadeau Apprentice
Joined: 19 May 2003 Posts: 205 Location: Ottawa, Ontario, Canada
|
Posted: Sat May 31, 2003 1:05 pm Post subject: Problem with distcc on two machines |
|
|
AlterEgo wrote: | Strange All I can say is, it works for me.
Please go back one step, and test whether your basic distcc-setup works, by testing it during a kernel build(which is make.conf-independent).
That will at least help us to pinpoint the problem.
Code:
# make menuconfig
# make dep && make clean
# export DISTCC_HOSTS="....."
# make CC="distcc" -j3 bzImage
# make CC="distcc" -j3 modules
# make modules_install
# [copy your kernel, etc. etc.]
If this works, you know for sure distcc works. (and that's something) |
I tried to test my install of distcc (version 2.0.1) using these instructions but to no avail. I looked at all the possibilities (I think). My configuration is quite simple: I have two machines:
Mosix4 at 192.168.0.53 and Mosix5 at 192.168.0.54.
I am compiling on Mosix5 and trying to get the "help" of Mosix4 on which distccd is running.
I know distccd is started on Mosix4 because:
Code: |
Mosix4 charles # ps -aux | grep distccd | more
Warning: bad syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
charles 19417 0.0 0.5 1364 272 ? S 15:09 0:00 distccd --verbose --daemon --log-file=/home/charles/distccd.log
root 31377 0.0 1.0 1408 488 pts/0 S 17:47 0:00 grep distccd
|
I also know that distccd is listening on the network:
Code: |
Mosix4 charles # netstat -pat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:3632 *:* LISTEN 19417/distccd
tcp 0 0 *:723 *:* LISTEN -
tcp 0 0 *:ssh *:* LISTEN 3187/sshd
tcp 0 0 Mosix4.coara.or.jp:ssh Mosix5.coara.or.j:33059 ESTABLISHED 19450/0
|
I know I can reach Mosix 4 from Mosix5 because I can ping it:
Code: |
Mosix5 linux # ping -c 5 Mosix4
PING Mosix4 (192.168.0.53): 56 octets data
64 octets from 192.168.0.53: icmp_seq=0 ttl=64 time=1.1 ms
64 octets from 192.168.0.53: icmp_seq=1 ttl=64 time=0.7 ms
64 octets from 192.168.0.53: icmp_seq=2 ttl=64 time=0.7 ms
64 octets from 192.168.0.53: icmp_seq=3 ttl=64 time=0.8 ms
64 octets from 192.168.0.53: icmp_seq=4 ttl=64 time=0.7 ms
|
and because I am accessing Mosix4 from Mosix5 over ssh.
I started my kernel compilation by typing:
Code: |
Mosix5 linux # export DISTCC_HOSTS="192.168.0.53"
Mosix5 linux # make CC="distcc" -j5 bzImage
|
When the compilation really starts, I see a lot of pairs of lines like these:
Code: |
distcc[6731] (dcc_pump_sendfile) ERROR: sendfile failed: Connection reset by peer
distcc[6731] (dcc_build_somewhere) Warning: failed to distribute to "192.168.0.53", running locally instead
|
I am quite at lost as what can be happening there. I read a lot of postings in these forums, the documentation and this page http://cvs.gentoo.org/~zwelch/distcc.html. I spent the day testing possibilities, inspecting the content of /etc/make.conf and /etc/conf.d/distccd and nothing I do seems to make distccd operate its magic.
Is there anything I forgot, something I did that I shouldn't have done, something stupid I overlooked?
Thanks in advance for your help!
Charles _________________ Charles Nadeau
http://radio.weblogs.com/0111823/
http://charlesnadeau.blogspot.com/search/label/Gentoo |
|
Back to top |
|
|
tuxwatcher Tux's lil' helper
Joined: 05 Jun 2003 Posts: 121 Location: USA
|
Posted: Thu Jun 05, 2003 1:59 pm Post subject: Problem with distcc on two machines |
|
|
I was having the same reset by peer problem. I checked the syslog on the peer machine and it showed I was having permission problems in the /tmp directory. I went and deleted the existing distcc directories under /tmp on that peer, tried compiling again, and everything worked fine. |
|
Back to top |
|
|
charlesnadeau Apprentice
Joined: 19 May 2003 Posts: 205 Location: Ottawa, Ontario, Canada
|
Posted: Thu Jun 05, 2003 2:50 pm Post subject: Re: Problem with distcc on two machines |
|
|
tuxwatcher wrote: | I was having the same reset by peer problem. I checked the syslog on the peer machine and it showed I was having permission problems in the /tmp directory. I went and deleted the existing distcc directories under /tmp on that peer, tried compiling again, and everything worked fine. |
I did
as root. Could it be the problem? I know you can't run distcc as root. Is there any link?
Which log file should I check? Where is it?
Thanks!
Charles _________________ Charles Nadeau
http://radio.weblogs.com/0111823/
http://charlesnadeau.blogspot.com/search/label/Gentoo |
|
Back to top |
|
|
tuxwatcher Tux's lil' helper
Joined: 05 Jun 2003 Posts: 121 Location: USA
|
Posted: Thu Jun 05, 2003 3:06 pm Post subject: Re: Problem with distcc on two machines |
|
|
The errors I had were showing up in the /var/log/messages log on the machine distcc was trying to connect too. Emerging distcc again did not help because it didn't clear the temporary files in /tmp. |
|
Back to top |
|
|
|