A while ago I gave a talk at the Ottawa graph meetup about getting started doing graph data visualizations with Gephi. Ever the optimist, I invited people to install Gephi on their machines and then follow along as I walked through doing various things with the program.
What trying to get a room of 20 people to install a Java program has taught me is that the installer’s “Java is found everywhere” is not advertising; it’s a warning. I did indeed experience the power of Java, and after about ten minutes of old/broken/multiple Java versions, broken classpaths and Java 7/8 compatiblity drama, I gave up and completed the rest of the talk as a demo.
All of this was long forgotten until my wife and I started a little open data project recently and needed to use Gephi to visualize the data. The Gephi install she had attempted the day of the talk was still lingering on her Ubuntu system and so it was time to actually figure out how to get it going.
The instructions for installing Gephi are pretty straight forward:
- Update your distribution with the last official JRE 7 or 8 packages.
- After the download completes, unzip and untar the file in a directory.
- Run it by executing ./bin/gephi script file.
The difficulty was that after doing that, Gephi would show its splash screen and then hang as the loading bar said “Starting modules…“.
If you have every downloaded plugins for Gephi, you will have noticed that they have an .nbm extension, which indicates they, and (if you will pardon the pun) by extension, Gephi itself is built on top of the Netbeans IDE.
So the next question was, does Netbeans itself work?
sudo apt-get install netbeans netbeans
Wouldn’t you know it, that Netbeans also freezes while loading modules.
Installing Oracle’s version of Java was suggested and the place to get that is the Webupd8 Team’s ppa:
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer oracle-java8-set-default # The java version that got installed: java -version java version "1.8.0_72" Java(TM) SE Runtime Environment (build 1.8.0_72-b15) Java HotSpot(TM) 64-Bit Server VM (build 25.72-b15, mixed mode)
That finally left us with a working version of gephi.
Installing Gephi on Arch Linux was (thankfully) drama-free, but interestingly installs the OpenJDK, they very thing that seemed to causing the problems on Ubuntu:
yaourt -S gephi java -version openjdk version "1.8.0_74" OpenJDK Runtime Environment (build 1.8.0_74-b02) OpenJDK 64-Bit Server VM (build 25.74-b02, mixed mode)
It’s a mystery to me why Gephi on Ubuntu seems to require Oracle’s Java but on Arch I can run it on OpenJDK.
With a little luck it can remain a mystery.