Reputation: 2641
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@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@ip-172-31-24-96:/data/helloworls# ls
Makefile file-{1..10}.txt
root@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
Upvotes: 0
Views: 680
Reputation: 584
To monitor distcc, you can use distccmon-text
on the client that is initiating the build. This will output the current status of the jobs in distcc.
To monitor permanently you can use watch -n 1 distccmon-text
to get the status updated every second.
I haven't used the gui application distccmon
myself. But I've seen screenshots. That should be an alternative as well, if you have a GUI available on that system.
Upvotes: 0