[distcc] How to correctly confirm if Distcc is setup correctly.

anish anil anish.a.anil at gmail.com
Mon May 10 13:21:52 UTC 2021


Ok. Done that and now getting bigger error:

*****************Two Servers that needs to be part of build
operation*************************
 export DISTCC_POTENTIAL_HOSTS='localhost 172.31.33.11 172.31.37.109'

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
root at ip-172-31-24-96:/data/cprg# ssh -i ~/.ssh/id_rsa root at 172.31.37.109
The authenticity of host '172.31.37.109 (172.31.37.109)' can't be
established.
ECDSA key fingerprint is SHA256:DrHW8z3HJdRn8lJ5fD26lRv7oGGOQ2ZjroFBEAhJuwA.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.31.37.109' (ECDSA) to the list of known
hosts.
Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 5.4.0-1045-aws x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Mon May 10 13:14:14 UTC 2021

  System load:  0.0               Processes:           102
  Usage of /:   9.5% of 19.32GB   Users logged in:     1
  Memory usage: 26%               IP address for eth0: 172.31.37.109
  Swap usage:   0%

 * Pure upstream Kubernetes 1.21, smallest, simplest cluster ops!

     https://microk8s.io/

 * Canonical Livepatch is available for installation.
   - Reduce system reboots and improve kernel security. Activate at:
     https://ubuntu.com/livepatch

*** System restart required ***

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

root at ip-172-31-37-109:~# distcc --version
distcc 3.3.5 x86_64-pc-linux-gnu
  (protocols 1, 2 and 3) (default port 3632)
  built May 10 2021 10:03:07
Copyright (C) 2002, 2003, 2004 by Martin Pool.
Includes miniLZO (C) 1996-2002 by Markus Franz Xaver Johannes Oberhumer.
Portions Copyright (C) 2007-2008 Google.

distcc comes with ABSOLUTELY NO WARRANTY.  distcc is free software, and
you may use, modify and redistribute it under the terms of the GNU
General Public License version 2 or later.

Please report bugs to distcc at lists.samba.org
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
root at ip-172-31-24-96:/data/cprg# ssh -i ~/.ssh/id_rsa root at 172.31.33.11
Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 5.4.0-1045-aws x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Mon May 10 13:15:07 UTC 2021

  System load:  0.0               Processes:           102
  Usage of /:   9.5% of 19.32GB   Users logged in:     1
  Memory usage: 26%               IP address for eth0: 172.31.33.11
  Swap usage:   0%

 * Pure upstream Kubernetes 1.21, smallest, simplest cluster ops!

     https://microk8s.io/

 * Canonical Livepatch is available for installation.
   - Reduce system reboots and improve kernel security. Activate at:
     https://ubuntu.com/livepatch



New release '20.04.2 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


*** System restart required ***
Last login: Mon May 10 13:13:45 2021 from 172.31.24.96
root at ip-172-31-33-11:~# distcc --versin
x86_64-linux-gnu-gcc: error: unrecognized command line option ‘--versin’;
did you mean ‘--version’?
x86_64-linux-gnu-gcc: fatal error: no input files
compilation terminated.
distcc[16261] ERROR: compile (null) on localhost failed
root at ip-172-31-33-11:~# distcc --version
distcc 3.3.5 x86_64-pc-linux-gnu
  (protocols 1, 2 and 3) (default port 3632)
  built May 10 2021 10:03:12
Copyright (C) 2002, 2003, 2004 by Martin Pool.
Includes miniLZO (C) 1996-2002 by Markus Franz Xaver Johannes Oberhumer.
Portions Copyright (C) 2007-2008 Google.

distcc comes with ABSOLUTELY NO WARRANTY.  distcc is free software, and
you may use, modify and redistribute it under the terms of the GNU
General Public License version 2 or later.

Please report bugs to distcc at lists.samba.org

root at ip-172-31-33-11:~# exit
logout
Connection to 172.31.33.11 closed.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


Ran a build now it gives me the perfect error which I'm unable to debug:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
root at ip-172-31-24-96:/data/cprg# pump make -j8 CC=distcc --debug
__________Using distcc-pump from /usr/local/bin
__________Found 1 available distcc servers
GNU Make 4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html
>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Updating goal targets....
 File 'all' does not exist.
   File 'hello.exe' does not exist.
     File 'hello.o' does not exist.
    Must remake target 'hello.o'.
distcc -c hello.c
distcc[1069] (dcc_readx) ERROR: failed to read: Connection reset by peer
distcc[1069] (dcc_r_token_int) ERROR: read failed while waiting for token
"DONE"
distcc[1069] (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[1069] Warning: failed to distribute hello.c to localhost,cpp,lzo,
running locally instead
 File 'all' does not exist.
   File 'hello.exe' does not exist.
  Must remake target 'hello.exe'.
distcc -o hello.exe hello.o
 File 'all' does not exist.
Must remake target 'all'.
Successfully remade target file 'all'.
__________Shutting down distcc-pump include server
root at ip-172-31-24-96:/data/cprg# ping 172.31.33.11
PING 172.31.33.11 (172.31.33.11) 56(84) bytes of data.
64 bytes from 172.31.33.11: icmp_seq=1 ttl=64 time=0.536 ms
64 bytes from 172.31.33.11: icmp_seq=2 ttl=64 time=0.576 ms
64 bytes from 172.31.33.11: icmp_seq=3 ttl=64 time=0.587 ms
64 bytes from 172.31.33.11: icmp_seq=4 ttl=64 time=0.575 ms
64 bytes from 172.31.33.11: icmp_seq=5 ttl=64 time=0.620 ms
64 bytes from 172.31.33.11: icmp_seq=6 ttl=64 time=0.542 ms
64 bytes from 172.31.33.11: icmp_seq=7 ttl=64 time=0.539 ms
^C
--- 172.31.33.11 ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 6150ms
rtt min/avg/max/mdev = 0.536/0.567/0.620/0.042 ms
root at ip-172-31-24-96:/data/cprg# ping 172.31.37.109
PING 172.31.37.109 (172.31.37.109) 56(84) bytes of data.
64 bytes from 172.31.37.109: icmp_seq=1 ttl=64 time=0.575 ms
64 bytes from 172.31.37.109: icmp_seq=2 ttl=64 time=0.666 ms
64 bytes from 172.31.37.109: icmp_seq=3 ttl=64 time=0.608 ms
^C
--- 172.31.37.109 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2025ms
rtt min/avg/max/mdev = 0.575/0.616/0.666/0.042 ms
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Any leads,

Thank you



On Mon, May 10, 2021 at 6:19 PM Fergus Henderson <fergus at google.com> wrote:

> In your Makefile, change all occurrences of "gcc" to "$(CC)".
>
> On Mon, 10 May 2021 at 13:19, anish anil <anish.a.anil at gmail.com> wrote:
>
>> Hello Henderson,
>>
>> Thank you for that lead, I changed the code by reading through the code
>> mentioned at
>>
>> https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html#zz-2.1
>>
>> Now created the sample example and did the following
>> **********
>> // hello.c
>> #include <stdio.h>
>>
>> int main() {
>>     printf("Hello, world!\n");
>>     return 0;
>> }
>> **********
>>
>> Make file with the below contents:
>>
>> ***************
>> all: hello.exe
>>
>> hello.exe: hello.o
>>          gcc -o hello.exe hello.o
>>
>> hello.o: hello.c
>>          gcc -c hello.c
>>
>> clean:
>>          rm hello.o hello.exe
>> ****************
>>
>> Ran the build withe the make file using the below command:
>>
>> ******************
>> root at ip-172-31-24-96:/data/cprg# ls
>> hello.c  makefile
>> root at ip-172-31-24-96:/data/cprg# pump make -j8 CC=distcc --debug
>> __________Using distcc-pump from /usr/local/bin
>> __________Found 2 available distcc servers
>> GNU Make 4.1
>> Built for x86_64-pc-linux-gnu
>> Copyright (C) 1988-2014 Free Software Foundation, Inc.
>> License GPLv3+: GNU GPL version 3 or later <
>> http://gnu.org/licenses/gpl.html>
>> This is free software: you are free to change and redistribute it.
>> There is NO WARRANTY, to the extent permitted by law.
>> Reading makefiles...
>> Updating goal targets....
>>  File 'all' does not exist.
>>    File 'hello.exe' does not exist.
>>      File 'hello.o' does not exist.
>>     Must remake target 'hello.o'.
>> gcc -c hello.c
>>  File 'all' does not exist.
>>    File 'hello.exe' does not exist.
>>   Must remake target 'hello.exe'.
>> gcc -o hello.exe hello.o
>>  File 'all' does not exist.
>> Must remake target 'all'.
>> Successfully remade target file 'all'.
>> __________Shutting down distcc-pump include server
>> root at ip-172-31-24-96:/data/cprg# ls -la
>> total 32
>> drwxr-xr-x 2 root root 4096 May 10 11:51 .
>> drwxr-xr-x 5 root root 4096 May 10 11:48 ..
>> -rw-r--r-- 1 root root   92 May 10 11:48 hello.c
>> -rwxr-xr-x 1 root root 8304 May 10 11:51 hello.exe
>> -rw-r--r-- 1 root root 1544 May 10 11:51 hello.o
>> -rw-r--r-- 1 root root  133 May 10 11:49 makefile
>> root at ip-172-31-24-96:/data/cprg# vi hello.c
>> root at ip-172-31-24-96:/data/cprg# vi makefile
>> root at ip-172-31-24-96:/data/cprg#
>> ******************
>>
>> So here it looks like it has build correctly, But I'm yet to ascertain,
>> If all the servers were really used during the compile operation which
>> lands me back to the original question.
>>
>> Thank you,
>> Anish
>>
>> On Mon, May 10, 2021 at 5:08 PM Fergus Henderson <fergus at google.com>
>> wrote:
>>
>>> Your makefile is not doing any actual C or C++ compilation. If you want
>>> to test whether distcc is set up correctly, you need to actually compile
>>> something.
>>>
>>> On Mon, 10 May 2021, 12:33 anish anil via distcc, <
>>> distcc at lists.samba.org> wrote:
>>>
>>>> I'm first time using distcc and have gone through the Readme.
>>>>
>>>> To setup I have three Ubuntu Servers: Master and Client:
>>>>
>>>> As per the readme it sound like we need to install them on all theree
>>>> machines. which i have completed.
>>>> https://github.com/distcc/distcc/blob/master/INSTALL
>>>>
>>>> Ran the command on all three servers:
>>>>
>>>> sudo apt-get install gcc make python3 python3-dev libiberty-dev
>>>>
>>>> ./autogen.sh ./configure make install
>>>>
>>>> They completed without any errors.
>>>>
>>>> Create ssh keys across the three machines and added then to the
>>>> authorized host section. Did a ssh and confirmed they are able to login
>>>> from the master to the Agent systems without any password
>>>>
>>>> Now from the Master Server i ran the below pointing two the two clients:
>>>>
>>>> Export DISTCC_POTENTIAL_HOSTS='localhost 172.31.33.11 172.31.37.109'
>>>>
>>>> Created a hello world make file:
>>>>
>>>>     #.DEFAULT_GOAL := generate
>>>>     .PHONY: all say_hello generate clean
>>>>
>>>>     all: say_hello generate
>>>>
>>>>     say_hello:
>>>>             @echo "Hello World"
>>>>
>>>>     generate:
>>>>             @echo "Creating empty text files..."
>>>>             touch file-{1..10}.txt
>>>>
>>>>     clean:
>>>>             @echo "Cleaning up....."
>>>>             rm -f *.txt
>>>>
>>>> Ran a build using the below command
>>>>
>>>>  make
>>>>  Hello World
>>>>  Creating empty text files...
>>>>  touch file-{1..10}.txt
>>>>  root at ip-172-31-24-96:/data/helloworls#
>>>>
>>>> So here it does look to have worked as expected.
>>>>
>>>> Ran the command as specified in the documentation:
>>>>
>>>> pump make -j40 CC="distcc gcc" --debug
>>>> __________Using distcc-pump from /usr/local/bin
>>>> __________Found 1 available distcc servers
>>>> GNU Make 4.1
>>>> Built for x86_64-pc-linux-gnu
>>>> Copyright (C) 1988-2014 Free Software Foundation, Inc.
>>>> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
>>>> This is free software: you are free to change and redistribute it.
>>>> There is NO WARRANTY, to the extent permitted by law.
>>>> Reading makefiles...
>>>> Updating goal targets....
>>>>  File 'all' does not exist.
>>>>    File 'say_hello' does not exist.
>>>>   Must remake target 'say_hello'.
>>>>    File 'generate' does not exist.
>>>>   Must remake target 'generate'.
>>>> Hello World
>>>> Creating empty text files...
>>>> touch file-{1..10}.txt
>>>>  File 'all' does not exist.
>>>>  File 'all' does not exist.
>>>> Must remake target 'all'.
>>>> Successfully remade target file 'all'.
>>>> __________Shutting down distcc-pump include server
>>>> root at ip-172-31-24-96:/data/helloworls# ls
>>>> Makefile  file-{1..10}.txt
>>>> root at ip-172-31-24-96:/data/helloworls#
>>>>
>>>> Question:
>>>>
>>>> 1> How do we really know that the two client servers have been used during this build
>>>> 2> Is setting the client servers same as that of the master, If no is there a difference
>>>> 3> How do we see the UI distcc Monitor
>>>> 4> How can i join a range of machines which does not have DistCC installed
>>>>
>>>> Thank you
>>>> __
>>>> distcc mailing list            http://distcc.samba.org/
>>>> To unsubscribe or change options:
>>>> https://lists.samba.org/mailman/listinfo/distcc
>>>>
>>>
>
> --
> Fergus Henderson <fergus at google.com>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.samba.org/pipermail/distcc/attachments/20210510/8bbf1faa/attachment-0001.htm>


More information about the distcc mailing list