Installing IO (Language) on Mac OS X (Snow Leopard)

Io is an interesting prototype-based programming language, so I wanted to give it a try.

Unfortunately, the installation process is not the simplest thing in the world, but after a couple of days struggling with it, I had success and I want to share with you my recipe.

Brew – Your best friend

Forget Macports or Fink. They are junk. Install Brew instead!
Brew is much more conservative and less invasive, compared to the former ones. Once installed, you can easily install and remove packages with “brew search <something>” and “sudo brew install <something>” or “sudo brew remove <something>”.

Part I – Cloning is the way

The first thing I suggest to you is to clone the Io repo, with something like this:

git clone

Then you need to open the CMakeLists.txt, scroll until line 143 and change this:

string(REGEX REPLACE "(.......)." "\\1" IO_GIT_REV ${IO_GIT_REV})

Into this:

string(REGEX REPLACE "(.......)." "\\1" IO_GIT_REV ${IO_GIT_REV} "" "")

Now the fun begins.

Cmake – Use the Graphic Frontend, Luke!

CMake makes the installation and compiling phases easier. I suggest you to download the graphic frontend (I don’t remember which version I’ve downloaded, but I have the CMake application into Applications folder). If you are new to CMake these are the brain-dead simple instructions to follow:

  1. Open
  2. When CMake asks you “Where is the source code”, put the cloned repo directory (e.g /Users/alfredodinapoli/github/io)
  3. When CMake asks you “Where to build the binaries”, put the cloned repo dir (e.g /Users/alfredodinapoli/github/io)
  4. Click on Configure – Use the default option (Makefiles)
  5. Click on Generate

Now go into the cloned repo dir and type:

sudo make install

If the compiling phase complains about some libraries missing, consider to install through Brew these packages:

  1. ossp-uuid
  2. pcre

Obviously every time you install a new package, is a good option to refresh the Makefile through the usual cycle Configure/Generate.

Now everything must be allright and the installation MUST succed! If not, well, we have a problem 🙂

Happy hacking with Io Language!



On the future of clj3D

Hi to everyone,
I know that in more than a month, no new post have appeared on this blog (I apologies for this), but I’ve been busy with some cool university projects.
I’ve slowed down the developing of clj3D, for one main reason: the library needs a geometric kernel.
A geometric kernel ensure that for every shape you’ll draw on the screen, there will be a structure/data/objects representing it. Furthermore, we need a hierarchical structure, like an Hasse diagram. I will begin developing the geometric kernel as soon as possible, meanwhile be patient and explore the already-coded part of clj3D.