I’ve been given this pretty cool Linux desktop system to play with. It wasn’t until I started to download Eclipse 3.1 that I realized it was a 64 bit installation (the Eclipse download page detects the operating system). Cool, I thought. The system even came with a Java Runtime Environment (JRE) installed, so I was good to go. Or so I thought.
Eclipse was a breeze to install and run. I was up and running in minutes. I was able to build a couple of new projects and really get things going. Then, I started to play with Eclipse Modeling Framework (EMF) and started getting errors. Curious errors related to regular expressions. Problems deep in J2SE code. I also tried to use the Java introspector and it also failed. At this point, the Eclipse Evangelist in me feels a need to point out that the problem had nothing to do with Eclipse itself.
I assumed that there must be something going on with the JRE so I checked the version which showed me that I was having my first experience with GIJ 1.4.2, the GNU Java bytecode interpreter. Right or wrong, I decided to just give up on GIJ and download a JRE that I am more comfortable with (and one that shows up on the supported Java runtimes list). Perhaps I’ll pursue the use of GIJ later as it seems that other folks have had some success with it.
So I went and downloaded a JRE from the Sun site. I installed the JRE directly into the Eclipse installation directory in a subdirectory named “jre” and started up Eclipse. Or rather, I tried and it failed with a java.lang.UnsatisfiedLinkError
. After a certain amount of cursing (a full transcript of which would be inappropriate in this forum), I determined that trying to run the 64-bit version of Eclipse 3.1 with a 32-bit JVM was the problem (bug 85699 is asking that a better message be presented; I’m going to recommend something that includes the words “big dummy”) . In short, PEBKAC.
So… the net of this is that 64-bit Eclipse requires a 64-bit JRE.
Of course, that wasn’t the end of my troubles. I downloaded a 64-bit JRE and tried to install it. In alignment with the theme for today, it failed. The installer just wouldn’t work. In desperation, I called on Matt, our Linux Systems Administrator, to help me out, assuming that I had reached some limit on my Linux skills. Within seconds, Matt determined that I was trying to install the ia64 (Intel) version of the JDK on an AMD64 system. In short, Matt pointed out that I am an idiot. I downloaded the AMD64 version of JDK 5.0 and it installed as advertised. In fact, everything appears to be working as advertised.
It turns out that you need to know what kind of hardware you’re trying to install on.