Last night I dreamed seemingly all night about NetBeans 7.1, the JavaFX 2.1 Developer Preview, the JDK 6 and JDK 7 installations on my CentOS Linux system, Java threads, the JDK 7 Fork/Join framework, closures… and probably a few more things were in there too. That kind of thing happens to me sometimes after a late night of programming or development-related brainstorming.
Now, if these dreams happen when I have looming deadline, I usually consider it a nightmare — because I’ll often “work” all night “solving” some problem that doesn’t exist in my day world. But I’m hoping last night’s dreams will ultimately prove to have been at least a little bit productive. There were plenty of curious ideas mixed in there. I’ll find out if any of it’s useful over the next several days…
Day work: JavaFX 2.1 Developer Preview on Linux
It’s daytime now, so I’ll get down to some practical work. First, there’s some good news for developers who want to try out JavaFX 2.1 Developer Preview on Linux: Linux Release Notes and installation instructions are now available (that wasn’t the case when I wrote my Getting Started (Very Preliminarily)… blog post a couple weeks ago). Also, the 2.1 Developer Preview is has advanced to build b11 (I originally downloaded build b9).
The instructions for JavaFX 2.1 on Linux identify the following system requirements:
- Ubuntu Linux 10.4 or higher (32 or 64 bit)
- JDK 6 update 26 or higher
- gtk2 2.18+
- libavcodec (for media)
I’m running CentOS 5.5, not Ubuntu; my current JDK 6 is prior to update 26; and
rpm -q gtk2 tells me that I have gtk2 Version 2.10.4-20.el5. Not the perfect starting point… But, my guess is that likely I’ll be able to get a proper configuration in place.
The latest GTK2 that’s available via yum for CentOS 5.5 is still in the Version 2.10 sequence. So, I downloaded the last stable GTK2 (Version 2.24.9), and tried installing it. The result of
./configure was a bunch of missing dependencies (too old a version of GLib, and missing atk, pango, cairo, and gdk-pixbuf-2.0). Using yum to see what prepackaged versions of these are available for my CentOS system, I found that in all cases the available packages predate the required versions.
Stepping back to GTK+ 2.18 would help some, but still the dependencies could not be met by simply using the yum package manager.
So, it’s a dilemma. I’d like to try out the JavaFX 2.1 Developer Preview on my CentOS system, but there’s a pretty big gulf between the CentOS 5.5 packages and what’s required for JavaFX 2.1. Attempting big jumps in package versions can break a stable Linux system, in my experience. And the idea of upgrading to a newer operating system isn’t all that appealing (that means downtime, and I do have development deadlines to meet). In addition, there are other things I’d like to be working on as well (such as experimenting with the performance differences between various strategies for efficiently utilizing multicore computers — all that non-JavaFX stuff I was dreaming about last night).
I’ll have to think about this for a while… Or, perhaps another night of Java-centric dreaming will provide a solution!