Dec 2, 2008

Install linalg for Debian Unstable (Sid)

One of the things I hate about Debian Sid is that there is no change of release name (unstable has been permanently aliased Sid). Later on, if you've arrived at this blog post via search, the Debian Sid I am working with will be different than the Debian Sid you may have. Bad choice by Debian to stick with this naming convention IMHO. Anyway, you want to install linalg for some reason and the instructions tell you to grab a bunch of packages that don't exist. Read on to see what "currently" you'll need to do on Sid.

Step 1: Unfortunately, one of the files you need is not available in Sid.. it's only in Lenny (the current stable) for now. If that changes you can modify or ignore this step, but for the moment you'll need to edit your /etc/apt/sources.list (or /etc/apt/sources.d/extras.list) and add this line to make sure Lenny is in there:

deb stable main non-free contrib

Step 2: Let's update our system
sudo apt-get update

Step 3: We now need to grab the prerequisites.. first the ones we can get from our regular repo:
sudo apt-get install liblapack3gf liblapack-dev

and next the one we need from stable
sudo apt-get -t stable install libg2c0-dev

Step 4: That should be all the perquisites so click on to rubyforge and grab the version of linalg appropriate for your architecture.

Step 5: Extract it and cd into the directory. Then run
ruby setup install.rb config

Hopefully there are no errors. If that's the case, move on to making
ruby setup install.rb make

Lastly, install it with
ruby setup install.rb install

Step 6*: Remove (or comment out) the code we added in Step 1 and then run another update:

sudo apt-get update

You should now have linalg setup and running on your box. No idea why libg2c0-dev isn't available for Sid (it is also not available for Ubuntu Intrepid Ibex) but hopefully the mixed system does not irk you too much.

*Thanks to Issyer for this step

1 comment:

  1. Can you give some advice on how to get this setup on a box where the libraries are not in the standard place?