Failed to load JavaHL Library.
These are the errors that were encountered:
no libsvnjavahl-1 in java.library.path
no svnjavahl-1 in java.library.path
/opt/local/lib/libsvnjavahl-126.96.36.199.dylib: no suitable image found. Did find: /opt/local/lib/libsvnjavahl-188.8.131.52.dylib: mach-o, but wrong architecture
This is the most complicated because there are so many distributions.
CollabNet provides a client RPM for Red Hat that includes JavaHL (http://www.collab.net/downloads/subversion/redhat.html). In my experience, this RPM works on other Linux distributions. On RPM-based distributions like CentOS or Suse, it should just be a matter of installing the RPM. On Debian-based systems, I was able to use the alien package to install the RPM.
Of course many Linux distributions, such as Ubuntu, do a good job of providing up to date Subversion packages, and most of these now provide JavaHL as well. Typically, the JavaHL library is in a separate package that is dependent on the main Subversion package. In Debian/Ubuntu the package name is libsvn-java so you can just run this command to install the library:
$ apt-get install libsvn-java
Once you have the library installed, you still have to tell Java (when used for Eclipse) where to find the library. The JVM on Linux does not look in a lot of the standard locations to find the libraries. This could obviously change in the future. For example, Debian/Ubuntu uses a standard location of /usr/lib/jni for libraries to be used from Java. However, the Sun JVM does not currently look in this location. The easiest way to tell Java where to find the JavaHL library is to specify the following when starting the JVM:
CollabNet Subversion installs into /opt/CollabNet_Subversion. So if you are using that package, you need this:
The name of the library is libsvnjavahl-1.so. The path you specify should contain this file.
Eclipse provides its own mechanism for providing this setting. Eclipse comes with a file named eclipse.ini. This file is looked at when the Eclipse launcher starts the JVM and appends settings to the JVM when launching it. Specifically, you should see a line that says “-vmargs”. Add a newline after this line and insert the above line to pass the setting the JVM needs. Each argument needs to be on its own line, so be sure to add a new line and then put the entire string above on its own line. Here is an example of this file from Eclipse 3.4: