Installing the Io Language in Ubuntu

words by Brian Racer

I have recently begun reading through Bruce Tate’s fun Seven Languages In Seven Weeks book. One of the chapters focuses the Io language and it’s installation can be a little bit non-standard to get it to my liking.

Generally on my development machine when I compile from source I like to install locally to my home directory rather than system wide. This way sudo privileges are not needed plus I just like the idea of keeping these items close to home.

First Io requires the cmake build system so make sure that is available.

$ sudo apt-get install cmake

Next download and extract the source code.

$ wget --no-check-certificate http://github.com/stevedekorte/io/zipball/master -O io-lang.zip
$ unzip io-lang.zip
$ cd stevedekorte-io-[hash]

Io provides a build script, however it is setup to install the language to /usr/local. Since I want it to go in $HOME/local you just need to modify that file. Here is a quick one liner:

$ sed -i -e 's/^INSTALL_PREFIX="\/usr\/local/INSTALL_PREFIX="$HOME\/local/' build.sh

Now build and install.

$ ./build.sh
$ ./build.sh install

Since we are installing into a location our OS doesn’t really know about, we need to configure a few paths.

$ vim ~/.bashrc
export PATH="${HOME}/local/bin:${PATH}"
export LD_LIBRARY_PATH="${HOME}/local/lib:${LD_LIBRARY_PATH}"
 
# You might want these too
export LD_RUN_PATH=$LD_LIBRARY_PATH
export CPPFLAGS="-I${HOME}/local/include"
export CXXFLAGS=$CPPFLAGS
export CFLAGS=$CPPFLAGS
export MANPATH="${HOME}/local/share/man:${MANPATH}"

Lastly restart your shell and type ‘io’ and you should be dropped into Io’s REPL!

A side benefit to this method is you can install anything you build into $HOME/local. Usually you just need to pass the –prefix=$HOME/local parameter when you run a ./configure script.

  • Pingback: Tweets that mention Jetpack Flight Log ┬╗ Installing the Io Language in Ubuntu -- Topsy.com()

  • Filip Staffa

    thank you

  • Pilf

    This is great, thank you.

    I was doing this on a fresh install and found I needed to do the following first:

    sudo apt-get install build-essential

  • Horseman

    Hey there,

    Thanks for this cogent guide on getting Io installed on Ubuntu. There’s *ONE* step at the very end that you left out: using ldconfig. Of course that might be implicit when you talk about running the configure script, but it’s still that last magic step. Otherwise you get an error like “libbasekit.sl: cannot open shared object file: No such file or directory”

  • Pingback: Seven Languages in Seven Weeks – (Io : Getting set up) « Scriptocalypse()

  • Maciej

    Thanks, it really. I’m installing IO for the same reason ­čÖé

  • Maciej

    *It really helped.

  • FabioIG

    I followed these steps and faced an error: io: error while loading shared libraries: libbasekit.so: cannot open shared object file: No such file or directoryI had to run on Terminal: sudo ldconfigAnd it worked!!!!$ io
    Io 20110905Io> Thank you

  • guest

    Thanks. It was really easy after reading you post.

  • I am on ubuntu 10.10 and yes you need to install build-essential to complete this Io install.

  • Richard

    Thanks muchly – works well. ┬áNeeded to install rpm and g++ on my vanilla Ubuntu to get cmake working

  • Mac Xxx 123

    Thanks… I have also read that awesome book…

  • Pingback: Hail Data! » Blog Archive » Installing IO()