AllJoyn and Linux

For some reason, there are no AllJoyn binary packages for Linux. Of course, most Linux users don’t mind building things from source, or they wouldn’t be Linux users.

I used this document as a guide to set up the development environment. There are a few other places in the documentation that list LInux prerequisites, but they were neither complete nor entirely correct. There are a couple of minor typos, and I had to make a one or two library substitutions for my Ubuntu 14.04 installation, but I was able to build the system. I didn’t bother with Javascript bindings or xulrunner, but I did find it helpful to install mono-gmcs to avoid errors from the Unity build package. In fact, I am¬†installing Mono and the Gecko libraries on all development platforms, just to make it easier to deal with the build system.

Also, given that Sun requires an account to download archived JDKs and I did not feel like finding my password — and the fact that I am a little¬†uncomfortable running really old Java — I went with the Java 7 SDK from Oracle. I had tried with the OpenJDK version 7, and did have some problems. Despite the dire warnings in the documentation, everything built fine. This may cause problems for me down the line, but so far everything has run as expected.

I had to define the LD_LIBRARY_PATH environment variable before the C++ samples would run, but that was my only problem. I had an issue with a thread-based exception in the client, but a little internet searching tells me it’s related to a bug that has already been fixed. I assume it will disappear with the next update to the source.