Build Io on Ubuntu Dapper

Thursday, July 27th, 2006

The Io language has a brand new build system. Gone is the static linking, Io is now dynamically linked. I believe the build system is far better than its predecessor.

It will need a couple of iterations to iron out a couple of problems. The detection of the dependencies for the bindings needs a small revision: it only checks for the libraries, not the header files. This is problematic on debian based system where, traditionally, a library X is in a package named libX and the header files in libX-dev.

If you want to experience Io on Dapper, you will have to do the following:

> sudo apt-get install build-essential
> sudo ldconfig

To get the SGML binding working, you will have to get your hands dirty with libsgml. Here is how:

> wget
> tar xfz libsgml-1.1.4.tar.gz
> cd libsgml-1.1.4
> ./configure
> make

Before going any further, you need to edit the Makefile and change the first line of the install target from:

install -m 644 -o root -g root --directory /usr/local/include/sgml

into this:

install -o root -g root --directory /usr/local/include/sgml
install -m 644 -o root -g root include/Variant.h \

Don’t ask… Finally, to install libsgml in a relatively clean way, I suggest using checkinstall like this:

> sudo apt-get install checkinstall
> sudo checkinstall

The stage is ready for Io:

> sudo apt-get install darcs
> darcs get
> cd Io
> make

May the cloning begin!

technorati tags:,

Updated on 05/09/06: fixed typo, thanks to Jesse’s comment.

7 Responses to “Build Io on Ubuntu Dapper”

  1. Jesse Ross Says:

    Just a little snag I ran into — it should be:

    sudo apt-get install build-essential

    instead of:

    sudo apt-get install build-essentials

  2. Thanks very much Jesse, I corrected the post.

  3. …sorry to bother you but can you help me on how to build Io on windowsxp

  4. Hi Ricardo,
    I suggest you try the #io irc channel on freenode, or the Io mailing list. I am not a windows user so I will not be of much help to you.
    Good luck.

  5. Carlos Says:

    I’m on ubuntu edgy amd64. I’ve managed myself to build Io except for:

    1) OpenGL addon complaints about:

    In file included from source/IoGLUT.c:901:
    source/IoGLUTconst.h:186: error: initializer element is not constant
    source/IoGLUTconst.h:186: error: (near initialization for ‘ioGLUT_constTable[69].value’)

    One of the offending lines is for example:

    Which is defined as follows in my system:

    #define GLUT_BITMAP_HELVETICA_10 ((void *) &glutBitmapHelvetica10)

    2) If I omit the building of this addon, I get the executables but then io aborts with a segmentation fault. otoh io_static runs fine.

    Any ideas?

    Thank you in advance.

  6. On Ubuntu Intrepid amd64 libsgml 1.1.4 doesn’t link properly so it’s not usable. I also noticed the latest version is from 2003 so it’s quite old.

  7. […] “Homework” is really simple at the end of the first day with Io. Probably due to the fact that it is not completely trivial to install. […]

Comments are closed.

%d bloggers like this: