Thnx to hgg's suggestion,
I have change the 127.0.0.1 to localhost in my ~/.distcc/hosts file now the
local compiling is fine.
Then I take a step further, I set up an server machine with the same g++ location, distcc
location, same $PATH env. variable. I then start the distccd using
"/home/local/distcc/bin/distccd --daemon --log-file=/var/log/distccd.log --listen
127.0.0.1 --allow 192.168.10.95" I then get the error in the log file:
distccd[7143] (dcc_setup_daemon_path) daemon's PATH is
/home/local/gcc-3.2.2/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
distccd[7143] (dcc_listen_by_addr) ERROR: bind of 127.0.0.1:3632 failed:
Address already in use
distccd[7143] (dcc_exit) exit: code 102; self: 0.000000 user 0.001999 sys;
children: 0.000000 user 0.000000 sys
or without the --listen flag, I still got the error:
distccd[7028] (dcc_setup_daemon_path) daemon's PATH is
/home/local/gcc-3.2.2FC3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
distccd[7028] (dcc_listen_by_addr) ERROR: bind of 0.0.0.0:3632 failed: Address
already in use
distccd[7028] (dcc_exit) exit: code 102; self: 0.000999 user 0.000999 sys;
children: 0.000000 user 0.000000 sys
examining the top output, I see no distccd running either.....
Getting closer...
Dave Woo
----- Original Message ----
From: dave woo <[EMAIL PROTECTED]>
To: Michael Casadevall <[EMAIL PROTECTED]>
Cc: distcc@lists.samba.org
Sent: Wednesday, January 31, 2007 3:30:28 PM
Subject: Re: [distcc] how to make distcc work with make file and none-default
location of g++ compiler?
Hi guys,
GNU Make 3.80
Linux kernel 2.6.1x
The g++ used use is installed at /home/local/gcc-3.2.2/bin, so
# /home/local/gcc-3.2.2/bin/g++ -v
Reading specs from
/home/local/gcc-3.2.2/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/specs
Configured with: ../gcc/configure --prefix=/home/local/gcc-3.2.2
--exec-prefix=/home/local/gcc-3.2.2 --enable-threads --disable-symvers
--enable-shared
Thread model: posix
gcc version 3.2.2
The distcc version on the client machine is
# /home/local/distcc/bin/distcc -v
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.4/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux
Thread model: posix
gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)
At this stage, I am simply trying to use distcc on the local machine, so I set
the ~/.distcc/hosts with a single 127.0.0.1, which should means local host.
# cat ~/.distcc/hosts
127.0.0.1
Also now my $PATH environment variable is
# echo $PATH
/home/local/gcc-3.2.2/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
So like I said, the first search path is /home/local/gcc-3.2.2/bin.
I am not running distccd on the client machine and no server is specified so it
should compile local by calling make -j2 CXX='distcc g++'
----- Original Message ----
From: Michael Casadevall <[EMAIL PROTECTED]>
To: dave woo <[EMAIL PROTECTED]>
Cc: distcc@lists.samba.org
Sent: Wednesday, January 31, 2007 2:48:04 PM
Subject: Re: [distcc] how to make distcc work with make file and none-default
location of g++ compiler?
It sounds like its a having trouble working with the remote distcc
server. It looks like your compiling for a 64-bit platform - it would
greatly help if I can have more information on your full setup. I've
seen broken pipe if distcc bombs abnormally on either machine, or
your make is broken (possible with some older versions of BSD Make).
Also, if you manually run distcc (running each command by hand) does
it still bomb, and does make -n complete successfully. Some info
would really be useful; Namely:
Version of Make
Build system (Linux/BSD/etc) on both the host/target
gcc -v 's output
Version of distcc on both machines,
DISTCC_HOSTS
Connection between the hosts
Anything else that would be relevant.
Michael
On Jan 30, 2007, at 11:22 PM, dave woo wrote:
Thanks Michael,
I am using a homebrew makefile. My makefile works fine without the
using -j2 option and distcc.
I realize that since I have set the /home/local/gcc-3.2.2/bin/ to
be the first search able directory path, I should be able to invoke
distcc as "make -j2 distcc=g++". Then I am getting a different error.
/home/local/distcc/bin/distcc g++ -c -g -D_DEBUG -fasm -finline-
functions -fno-rtti -Wall -D_REENTRANT -D__int64="long long"
ac3.cpp -o ac3.o
/home/local/distcc/bin/distcc g++ -c -g -D_DEBUG -fasm -finline-
functions -fno-rtti -Wall -D_REENTRANT -D__int64="long long"
RegionBegin_3.cpp -o RegionBegin_3.o
distcc[5498] (dcc_writex) ERROR: failed to write: Connection refused
distcc[5497] (dcc_writex) ERROR: failed to write: Connection refused
..............
distcc[5498] (dcc_writex) ERROR: failed to write: Broken pipe
what does it mean failed to write: Connection refused?
----- Original Message ----
From: Michael Casadevall <[EMAIL PROTECTED]>
To: dave woo <[EMAIL PROTECTED]>
Cc: distcc@lists.samba.org
Sent: Tuesday, January 30, 2007 7:23:43 PM
Subject: Re: [distcc] how to make distcc work with make file and
none-default location of g++ compiler?
distcc should follow the system path looking for GCC. If the path is
set for 3.2 to be found by default (aka gcc --version shows the
compiler you want), distcc gcc should work. What looks like it seems
to be a bug in your makefile. Are you using a homebrew makefile, or
autoconf/cmake/scons/etc?
Michael
On Jan 29, 2007, at 11:55 PM, dave woo wrote:
Hi guys,
I have installed the distcc properly, and I havea simple makefile
with two simple .cpp file that uses the default g++ compiler under
the system path. I use the "make -j2 CXX=distcc" method to compile.
This works fine.
However, for my actual working project, I am using an older version
of g++ compiler installed at specific location, ie, /home/local/
gcc-3.2.2/bin/g++. I have set up the ~/.distcc/hosts file with one
single entry of 127.0.0.1, so its simply running locally. I also
set the system path to include "/home/local /home/local/gcc-3.2.2F/
bin/" as the first path to be searched. Even though I thought this
should not be necessary because I am using the absolute path to
call the desired g++. Anyways, when I try "make -j2 CXX='distcc /
home/local/gcc-3.2.2/bin/g++', and examine the actual command
actually run by the makefile, I get "/home/local/distcc/bin/distcc /
home/local /home/local/gcc-3.2.2F/bin/g++ -CXXFLAGS filenames.cpp".
Then the error is that the extra "/home/local" can not be found!
where does this extra "/home/local" come from? So of course
compilation fails.
Any ideas guys?
Thanks in advance!
Dave.