You are not a man until…(WURFL InFuze and Raspberry PI)

You are not a man until…(WURFL InFuze and Raspberry PI)

A man is not old until regrets take the place of dreams.

Pretty much everyone must have heard several instances of the “you are not a man until…” sentence followed by some more or less moronic action. When it comes to C APIs, I suspect that the programming counterpart recently has become “You did not build a real C API until you can compile and run it on a Raspberry PI“. In fact, there seems to be a race to run every bit of software ever conceived on a Raspberry PI. So, it didn’t take much before someone in our C and C++ engineering team in Milan, Italy, picked up the gauntlet and accepted the challenge on behalf of our WURFL InFuze product line.

Today, we can report that that challenge was successfully won.

We used a Model B Raspberry PI (512 Mb RAM and ARM 700Mhz processor). Arguably, the most popular Linux distribution for that device is Raspbian, a Debian 6 port for the ARM processor.

We used the documentation and build scripts that are used for our standard Ubuntu and Debian 6 distributions. After installing the dependencies for compiling the WURFL InFuze products, we launched the, script. This is the script that we run to compile all libraries and modules. Here is what the script does:

  1. Install all applications and libraries needed to compile (libboost, gcc, etc.)
  2. download the source code of the various components to include the WURFL libraries and modules.
  3. run configure and make all to compile everything
  4. launches fpm to create a .deb package.
The compilation was successful at the first attempt, exactly as we would expect for the compilation of a normal distribution of Debian 6.
Two packages (libwurfl.deb and mod_wurfl.deb, the Apache Module) were installed with:
#dpkg-i libwurfl.deb
Apache 2.2 was already installed by default. All the we had to do was to edit the wurfl.conf file to activate the recognition of certain capabilities, restart ¬†Apache and… Bingo!
WURFL InFuze (Apache) on RaspberryPI
Of course, we were also able to compile the InFuze NGINX module without problems.
The Moral of the Story is: WURFL InFuze is now a man!
The ScientiaMobile Engineering Team in Milan