Would it be possible to include SLP support with DISTCC? I think SUSE used to have a package like that. It would be good not to have to set up the distcc/hosts file on every computer.
Steps to Reproduce:
SLP stands for Service Location Protocol and is a network protocol to automatically locate computers providing a service via broadcast or multicast. see http://www.openslp.org/
... which brings us back to zeroconf support...
(which someone wanted to add some time ago)
If you are referring to http://bugs.gentoo.org/show_bug.cgi?id=40637, that was denied because there was no support for current versions of distcc. However there are now more recent patches. SUSE states on http://fr2.rpmfind.net//linux/RPM/suse/9.2/i386/suse/src/distcc-2.12-118.1.src.html * Tue Dec 23 2003 - email@example.com
- implement SLP support, no one need to set DISTCC_HOSTS anymore,
if the SLPD runs on the distccd hosts.
Also there is now a recent zeroconf patch, see
Created attachment 50379 [details, diff]
diff for distcc-2.12 extracted from the SUSE source .rpm
This is the diff that is included with the SUSE source .rpm package
(unfortunately only for version 2.12).
Created attachment 50468 [details, diff]
patch for distcc-2.16 to include slp support
This is the patch form SUSE modified to work with distcc-2.16, the current
Created attachment 50469 [details, diff]
patch for the distcc-2.16-r2.ebuild to include slp
This modification allows the current ebuild to use SLP together with slp.diff,
conditional on the slp useflag being set.
This is on my to test list. If I recall there's a patch in the Distcc CVS (or wahtever he's using...) repository that I've been meaning to find time to test.
Created attachment 65576 [details, diff]
Patch to enable howl support for distcc-2.18.3-r7
On second thought, this may not be the right place. If not, lemme know and I'll make a new bug.
I found this on the internet (link in patch). It didn't work directly with
this version, but I edited the original patch to make it work. Works on PPC.
Can you please take a look at this one? I've spent like hours setting up the
distcc hosts for my cluster today... :-(
it's coming. i'm going to work on it when i get home on Tuesday.
(In reply to comment #10)
> Can you please take a look at this one? I've spent like hours setting up the
> distcc hosts for my cluster today... :-(
by the way, you could use a a DNS-based solution.
To the original poster, any chance to port this SLP patch to 2.18.3-r7?
I can work with the Howl patch for now.
Created attachment 72077 [details, diff]
Created attachment 72078 [details]
The patch applied cleanly to the standard source, I have openslp running with
the default config, distccd started with:
./distccd -p 3666 --slp-identy=slptest --listen 192.168.0.254 -a 192.168.0.0/24
-P /home/lisa/projects/distcc/distcc-2.18.3/src/distccd.pid --verbose --log-
level=debug --log-file=./log.log --daemon
distccenv returns no hosts.
Am I missing something here?
Oh bugger. I spoke too soon. Please ignore that last comment.
openslp and the patched distcc are installed on two hosts, lithium and helium.
When generating the hosts file with the distccenv tool I only seem to get
returned the host on which openslp is running. That is:
slpd and distccd are running.
slpd and distccd are running.
Back on helium:
distccenv returns only helium:3662 and not lithium:3662
distccenv returns only lithium:3662 and not helium:3662.
If I limit the slpd to running on one host that host is simply not returned, eg:
distccd is running, slpd is not running
distccenv will not return anything
distccd is running, slpd is running
distccenv will still return only helium:3662
What am I mixing up? The daemon log reports that it is unable to register with
the SLP service. Is this a SLP config error? I'm not familiar with SLP so I'm
just poking around like a novice here.
Try locating the computers with slptool findsrvs slp . If that doesn't work, the
address range might need to be set in /etc/slp.conf
That command fails.
What address range are you referring to? What command directive in /etc/slp.
conf? On what machines must it be set? Does slpd need to be running on every
volunteer or only one?
my mistake. you don't need an address range. the only thing you might try is
setting broadcastonly in slp.conf, but that shouldn't be necessary. the command is
slptool findsrvs service:service-agent
which should list all computers running slpd (all distcc hosts have to be
running it and it has to be started before distccd).
okay. i'll try that again!
Created attachment 73258 [details]
This SLP.conf file is the same across the network (two volunteers).
slpd is started across two machines at the same time, prior to distccd on any
distccenv continues to be unable to read the presence of any other machine (it
can get it from the local host).
What am I doing wrong? I'm close to resolve this CANTFIX since I can't seem to
be getting it working, but I'll give it a bit longer!
If anyone else has been trying this please post with your findings!
I hate to close this, but here's why I'm closing it UPSTREAM:
1) The configuration isn't straightforward (there is no documentation to help).
2) Gentoo isn't really a test ground for new features for software that hasn't
already implemented those changes (if incorporated UPSTREAM the implmentation
could change and not be drop-in).
Please post the SLP patch (based on 2.18.3) to the distcc mail list with
comprehensive documentation on how to set up openslp and that will increase the
chance of distcc supporting it.