[CentOS-devel] distributed compiling with icecc out of a mock-chroot

Thu Mar 4 04:05:33 UTC 2010
Jerry Amundson <jamundso at gmail.com>

On Wed, Mar 3, 2010 at 8:30 PM, Brian Schueler <brian.schueler at gmx.de> wrote:
> Hi, CentOSers,
> I found out that icecc (icecream package), the distributed compiling
> system delivers a great advantage for me when building software.

It would be nice to see quantitative numbers showing said "great
advantage". Or, all the numbers which might prove more than one
benefit. Even the package site[1] lacks real analysis.

> It's quite easy to set up mock 0.9.19 to use icecream by default.
> There must be the lines
> config_opts['chroot_setup_cmd'] = 'install buildsys-build icecream'
> ...
> config_opts['macros']['%_smp_mflags'] = "-jX"
> in the specific OS definition, where X in the _smp_mplags line is the
> summary of all CPU cores in your compiler network.
> You have to add a repository containing the icecream RPM. I'm using
> icecream-0.9.4. The icecream cache must be delegated to the mock chroot
> by adding
> config_opts['plugin_conf']['bind_mount_opts']['dirs'].append\
> (('/var/cache/icecream', '/var/cache/icecream' ))
> to the site-defaults.cfg file. This is why mock 0.9.19 is required for
> this. Be sure that your icecream package contains
> /etc/profile.d/icecream.sh which is needed to wrap cc,gcc,g++,... for
> icecc in the mock chroot. Or you simply take my RPM.

Take an RPM from where? and who should install the RPM, and on what?
Your audience here is fairly limited - those in the CentOS core, and
the rest of us. :)
Either way, the niche for Icecream seems to be systems already using
distcc[1] and even distcc, though in dag[2], isn't in a repo shipped
with CentOS.

> Remember, that the compile nodes must be in the same subnet, so it's
> a good idea that moving together your build machines using VPN bridges
> or whatever. Pure compile nodes may even be something else than CentOS
> (i.e. Debian) because the needed (target) compiler binaries are
> delivered over the icecc network, too - and held in a cache.
> What do you think about that?

I think you have not proven your case very well. :-)


[1] http://en.opensuse.org/Icecream
[2] http://dag.wieers.com/rpm/packages/distcc/