Installing Chaste on Debian (sorta)

For my research, I program using a collossal C++ software package called "Chaste". CHASTE stands in this case for "Cancer, Heart and Soft Tissue Environment", rather than its usual meaning of the sexual repression of people (especially women) all over the world. Interesting choice of acronym.

Chaste's got lots and lots of bits that I don't use, and it is notoriously difficult to install on things, but it's also incredibly, incredibly useful. Over the last 10 years or so people have added all kinds of modules for biological modelling, especially cardiac stuff. Just a quick look at the class index gives you an idea of how many tools there are to use.

There's an easy Chaste installer for Ubuntu, but I'm a Debian girl myself, and I've had terrible trouble trying to use the generic instructions, because there are a lot of dependencies, and each dependency has different versions in different Linux distributions.

In the end, I decided to side-step the issue entirely. There's a tool called Debootstrap, which creates an entire Ubuntu installation in a single folder, so I can be using my Debian laptop and have Ubuntu open in a terminal without too much bother.

So first we make a Chaste directory and put Ubuntu into it using debootstrap:

mkdir Chaste
sudo debootstrap utopic Chaste

Next, we jump into the Ubuntu installation by changing our root:

sudo chroot Chaste

First off for some reason you need to tell the computer where you are.

locale-gen en_GB en_GB.UTF-8 

Then there are a few useful things that I like to have around; "nano", which is a text editor, "aptitude" which is a front-end for the apt-get installer, and "man" which are the manual pages for command line tools.

apt-get install nano aptitude man

Now you need to add some more repositories so that you have all of the packages available that you need. Open up your sources file:

nano /etc/apt/sources.list

Delete the first line using Ctrl-K, and then copy in the following:

deb utopic main universe multiverse
deb utopic partner
deb utopic-backports main restricted universe multiverse
deb-src utopic universe main multiverse
deb utopic-updates universe multiverse
deb-src utopic-updates universe multiverse
deb utopic/

Then press Ctrl-O to save and Ctrl-X to exit. Next, we add the Chaste license key, and update the package lists.

apt-key adv --recv-keys --keyserver hkp:// 422C4D99
apt-get update

The proc filesystem needs to be mounted before we can continue:

mount -t proc proc /proc

After this point, I am just following the default install guide. This next part took forever, I got quite bored. Here is a collection of margin scribbles from books.

apt-get install --install-recommends chaste-dependencies
apt-get install `dpkg -s chaste-dependencies | egrep "^Suggests" | cut -d "," -f 1-111 --output-delimiter " " | cut -d ":" -f 2`

Then checkout the code! I put it into a folder called "Chaste" in the root directory, but if you want to put it somewhere else (/home/scratch/Chaste/ for example) just create the directory you need first and cd into it.

svn --username anonymous checkout Chaste
cd Chaste

Then all of the tests should start building!


Free software talk

Tux mug

I did a talk this morning about free software with my friend, scary brainy sysadmin Alan. Alan covered the philosophy of the free software movement, and I talked about the practical ways people could start using free software every day.

I thought I'd make a post about some of the things I linked to and talked about.

  • We had a look at AlternativeTo, which is a website that lists different programs you might want to use (for example Photoshop) and lists some alternatives (for example, the GIMP). You can select "Open Source" from the drop down box to see only open source software, most of which is also free.
  • Portable Apps are really nifty programs. You can install them onto a USB pen drive and use them on any Windows computer. It's really handy to have, for example, Firefox with all of your bookmarks and add-ons ready to use when you're using a friend's computer or at work. Also if your job is particularly boring they have a massive list of games.
  • I have already mentioned Firefox and the GIMP, but some other programs to look at are LibreOffice, which has all the functionality of Microsoft Office; Thunderbird email client; Pidgin chat client (you can use it instead of MSN messenger, AIM, Yahoo! etc.); VLC media player which can handle pretty much any type of video or audio file; Audacity for editing sound files (I used it for my podcast).
  • If you want to run your whole computer on free, open source software, you can use some kind of GNU Linux instead of Windows or Mac OS X (you can also have both Linux and Windows/OS X on your computer at once without slowing it down). There are lots of different flavours, or "distributions" of Linux. You can use this Linux Distribution Chooser quiz to find out which one is the best for you, based on your computer knowledge and what you want to use it for.
  • For a Linux beginner I usually recommend Ubuntu, which is really user-friendly and has a really attractive desktop. It will run on most machines, but for super old computers, Debian might run faster, and is a bit more stable.
  • If you want to try out Ubuntu before installing it, you can make a LiveCD or LiveUSB and play around with it, without changing anything on your hard drive.
  • This isn't really related, but Alan's presentation was made using S5: A Simple Standards-Based Slide Show System, which is a really cool HTML-based way of doing slideshows. I'd never seen it before, but I think it's great!

Free software's pretty awesome. It doesn't cost you any money, and you can distribute it how you like. Anyone can see the source code, and anyone can submit revisions to it, which means that when there's a problem with the program it's often fixed really quickly by the community. There's always a huge number of helpful users on the internet who make tutorials and answer questions.

It's not just on the internet you can get help either - in Sheffield there's Access Space near to the showroom cinema. They're a great bunch of techie arty people who will help you out with using and installing free software. There's also the BitFixit Cafe in the Burngreave area of Sheffield, which I volunteer at. We're open on Saturdays between 12 and 3 at 268 Verdon Street, and we're happy to install things, fix problems, and eat biscuits.