Stuff Michael Meeks is doing

This is my (in)activity log. You might like to visit my employer Novell which is an amazing company, and also Dell who in days of yore provided me with a free laptop for Gnome development / conferences. Also if you have the time to read this sort of stuff you could enlighten yourself by going to Unraveling Wittgenstein's net or if you are feeling objectionable perhaps here.

Older items: 2008: ( J F M A M J J A ), 2007: ( J F M A M J J A S O N D ), 2006, 2005, 2004, 2003, 2002, 2001, 2000, 1999, legacy html


Double your build-speed with Icecream on OpenSUSE

Something for nothing ?

First, if you don't happen to have spare computers lying around that you are not using and feeling pretty guilty about, this is prolly not the right oil for your snake. Also, please note the OpenSUSE is not that relevant: something similar should work nicely on Fedora too.

Caveats

Icecream is a sharp tool, it lets other people build software on your machine, needs you turn off your firewall, and it requires a working LAN. The wiki page is your friend. [update]: Martin Vidner points out that if you don't like to disable your firewall, it's easy to use some built-in rules; as root:
echo 'FW_CONFIGURATIONS_EXT += "iceccd icecream-scheduler"' >> /etc/sysconfig/SuSEfirewall2
/sbin/SuSEfirewall2 start

Invest one minute to make your builds fly

sudo zypper in -y icecream icecream-monitor # install the package < 5 secs
sudo /sbin/chkconfig --level 345 icecream on # enable icecream startup on boot

Next - decide if this is going to be the scheduler machine ? if so:
sudo sed -i 's/ICECREAM_RUN_SCHEDULER="no"/ICECREAM_RUN_SCHEDULER="yes"/' /etc/sysconfig/icecream

Then - start the daemon everywhere:
sudo /etc/init.d/icecream start # start the daemon ...

Finally - fix your path:
export PATH="/opt/icecream/bin:$PATH";
make -j8 # and run a parallel make

Non-griping

But I use different distros & versions on each machine - icecream pushes enough of your compiler and toolchain across to the remote host that this shouldn't be a problem.

But I like to turn the scheduler off / unplug my laptop - fine, icecream will handle your use-case perfectly: don't fret.

My mega-server is a 64bit machine, but my laptop is 32bit - fine, icecream will handle your use-case perfectly by default. It can even do cross compiling with more tweaking.

How do I know it's working - for those burned by the psychosomatic Gentoo experience, running 'icemon' can help overcome your fears (albeit at the cost of too much of your CPU):


(Thanks to Jonny Lamb / Collabora, or see an animated version).

But I run SLED ... - package here.

Credits

Clearly, the usual heros - Stephan Kulow, Michael Matz, Dirk Mueller wrote the software, Kendy said enough nice things about it & Will Stephenson, with Collabora actually showed me it working to great effect. Thanks guys, you made my builds fly. In my next blog post, perhaps I'll explain how by buying Mavis Bacon's typing tutor, you can double your programming productivity by simply increasing your typing speed; or something.


In case it's not painfully obvious: the reflections reflected here are my own; mine, all mine ! and don't reflect the views of Novell, The Lithuanian Gov't or Arnold Schwarzenegger. It's also important to realise that I'm not in on the Swedish Conspiracy. Occasionally people ask for formal photos for conferences, bio. or fun.
Michael Meeks (michael.meeks@novell.com)
Made with PyBlosxom