Stuff Michael Meeks is doing

This is my (in)activity log. You might like to visit Collabora Productivity a subsidiary of Collabora focusing on LibreOffice support and services for whom I work. 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. Failing that, there are all manner of interesting things to read on the LibreOffice Planet news feed.

Older items: 2021: ( J F M A M J J A S O N D ), 2019, 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2009, 2008, 2007, 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.


My content in this blog and associated images / data under images/ and data/ directories are (usually) created by me and (unless obviously labelled otherwise) are licensed under the public domain, and/or if that doesn't float your boat a CC0 license. I encourage linking back (of course) to help people decide for themselves, in context, in the battle for ideas, and I love fixes / improvements / corrections by private mail.

In case it's not painfully obvious: the reflections reflected here are my own; mine, all mine ! and don't reflect the views of Collabora, SUSE, Novell, The Document Foundation, Spaghetti Hurlers (International), or anyone else. It's also important to realise that I'm not in on the Swedish Conspiracy. Occasionally people ask for formal photos for conferences or fun.

Michael Meeks (michael.meeks@collabora.com)

pyblosxom