Icecream

From SlackWiki
Revision as of 16:10, 9 February 2020 by Wigums (talk | contribs) (Created page with "Icecream was created by SUSE based on distcc. Like distcc, Icecream takes compile jobs from a build and distributes it among remote machines allowing a parallel build. But unl...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Icecream was created by SUSE based on distcc. Like distcc, Icecream takes compile jobs from a build and distributes it among remote machines allowing a parallel build. But unlike distcc, Icecream uses a central server that dynamically schedules the compile jobs to the fastest free server. This advantage pays off mostly for shared computers, if you're the only user on x machines, you have full control over them.


icecream comes installed on slackware and is super easy to setup

you need one master and atleast one slave but you may have many many slaves. also all your machines need to use the same domain such as .localdomain or i just use .org

you need the rc.iceccd running on all machines even the master so

chmod +x /etc/rc.d/rc.iceccd

and make sure its running

/etc.rc.d.rc.iceccd restart

and on the master machine you need the scheduler running

chmod +x /etc/rc.d/rc.icecc-scheduler

and make sure the shceduler is running on the master machine

/etc/rc.d/rc.icecc-scheduler restart


now you need to set your make jobs. this is a big topic and wont be covered here. however as an example i use sbotools so in its sbotools.conf i set JOBS=N+1 where N is the total number of cores across all machines. you may set MAKE -jN elsewhere

thats it. now build something