I\'ve reinstalled Windows and unzipped a fresh copy of Eclipse. Despite this, I\'ve been unable access an ssh repository via Subclipse. The issue seems to be with JavaHL and the
Some tales with solution below.
First, tales. I had a similar error with:
svn, version 1.8.8 (r1568071)
;Mars.1
;trusty
;with either:
(I was toggling both subclipse sources within a single Eclipse Mars.1 instance).
Error messages were:
java.lang.LinkageError: Native library version must be at least 1.9.0, but is only 1.8.8 (r1568071) at org.apache.subversion.javahl.NativeResources.init(NativeResources.java:148) at org.apache.subversion.javahl.NativeResources.loadNativeLibrary(NativeResources.java:111) at org.apache.subversion.javahl.types.Version.(Version.java:40) at org.apache.subversion.javahl.NativeResources.init(NativeResources.java:145) at org.apache.subversion.javahl.NativeResources.loadNativeLibrary(NativeResources.java:111) at org.apache.subversion.javahl.SVNClient.(SVNClient.java:52) at org.tigris.subversion.svnclientadapter.javahl.JhlClientAdapterFactory.isAvailable(JhlClientAdapterFactory.java:183) at org.tigris.subversion.clientadapter.javahl.Activator.isAvailable(Activator.java:90) at org.tigris.subversion.clientadapter.Activator.getClientAdapter(Activator.java:81) at org.tigris.subversion.subclipse.core.SVNClientManager.getAdapter(SVNClientManager.java:127) at org.tigris.subversion.subclipse.core.SVNClientManager.getSVNClient(SVNClientManager.java:94) at org.tigris.subversion.subclipse.core.SVNProviderPlugin.getSVNClient(SVNProviderPlugin.java:462) at org.tigris.subversion.subclipse.core.repo.SVNRepositoryLocation.getSVNClient(SVNRepositoryLocation.java:257) at org.tigris.subversion.subclipse.core.resources.RemoteFolder.getMembers(RemoteFolder.java:164) at org.tigris.subversion.subclipse.core.resources.RemoteFolder.members(RemoteFolder.java:260) at org.tigris.subversion.subclipse.ui.operations.FetchMembersOperation.execute(FetchMembersOperation.java:41) at org.tigris.subversion.subclipse.ui.operations.SVNOperation.run(SVNOperation.java:90) at org.tigris.subversion.subclipse.ui.repository.model.SVNRepositoryRootElement.fetchDeferredChildren(SVNRepositoryRootElement.java:73) at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:232) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
java.lang.NoClassDefFoundError: Could not initialize class org.apache.subversion.javahl.SVNClient at org.tigris.subversion.svnclientadapter.javahl.JhlClientAdapter.(JhlClientAdapter.java:57) at org.tigris.subversion.clientadapter.javahl.Activator.getAdapter(Activator.java:64) at org.tigris.subversion.clientadapter.Activator.getClientAdapter(Activator.java:84) at org.tigris.subversion.subclipse.core.SVNClientManager.getAdapter(SVNClientManager.java:127) at org.tigris.subversion.subclipse.core.SVNClientManager.getSVNClient(SVNClientManager.java:94) at org.tigris.subversion.subclipse.core.SVNProviderPlugin.getSVNClient(SVNProviderPlugin.java:462) at org.tigris.subversion.subclipse.core.repo.SVNRepositoryLocation.getSVNClient(SVNRepositoryLocation.java:257) at org.tigris.subversion.subclipse.core.resources.RemoteFolder.getMembers(RemoteFolder.java:164) at org.tigris.subversion.subclipse.core.resources.RemoteFolder.members(RemoteFolder.java:260) at org.tigris.subversion.subclipse.ui.operations.FetchMembersOperation.execute(FetchMembersOperation.java:41) at org.tigris.subversion.subclipse.ui.operations.SVNOperation.run(SVNOperation.java:90) at org.tigris.subversion.subclipse.ui.repository.model.SVNRepositoryRootElement.fetchDeferredChildren(SVNRepositoryRootElement.java:73) at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:232) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
The LinkageError
above might probably be caused by incompatibility with [3]:
[3]:
Requirements - current master
[...]
Subversion 1.9 JavaHL client libraries
(this is an excerpt from https://github.com/subclipse/subclipse/wiki, see section Requirements - current master).
To solve this incompatibility for my svn 1.8.8
, I tried to install the legacy
SVN 1.8.x - https://dl.bintray.com/subclipse/archive/release/1.10.x/
(this is an excerpt from https://github.com/subclipse/subclipse/wiki, see section Legacy Releases).
Eclipse told Cannot perform operation
and as an alternate solution
I chose Update my installation to be compatible with the items being installed
option in the radio buttons group of alternate solutions. Then, I clicked Next
a few times, confirmed the licenses, replied to unsigned content warning, and restarted Eclipse when prompted. This did not help as various Error Log view entries appeared.
Second, a solution.
-Djava.library.path=/usr/lib/i386-linux-gnu/jni/
at -vmargs
(took Eclipse installer from http://www.eclipse.org/downloads/packages/release/Mars/2).1.8.8
from the legacy Eclipse update site https://dl.bintray.com/subclipse/archive/release/1.10.x/.svn+ssh:
URLs (see https://stackoverflow.com/a/15949392/529442 on this).I saw the same kind of problems in OS X 10.7.5. The solution seemed to consist of two things:
I'd spend more time tracking the remaining problems down, but I've already spent a whole morning on this :-(
You have the option to use the SVNKit library instead of JavaHL which is 100% Pure Java implementation of the protocols used by Subversion. This option has the advantage of not requiring any native libraries.
It would be helpful if you did provide detailed exception message or a screen-shot to explain the problem.
If it's really urgent, use svn
command first before you figure out the fix.
Update #1 To help diagnose your problem, download the JavaHL test library and follow the instructions mentioned in the page. Update us here and we will assist you further.
I had the same problem with my Eclipse Helios installation in Ubuntu. To solve the problem I had to do the following.
Install the svn library
$ sudo apt-get install libsvn-java
Find the location of the native libraries. In my case it was /usr/lib/jni. (If you've just installed the library you may have to update the locate db before running locate with /etc/cron.daily/mlocate - on Ubuntu 10.10, other OS may have different script names)
$ locate libsvnjava
In my case finds the following files: /usr/lib/jni/libsvnjavahl-1.so, /usr/lib/jni/libsvnjavahl-1.so.0, /usr/lib/jni/libsvnjavahl-1.so.0.0.0
Find the location of eclipse installation directory. For the custom installation I choose /usr/local/eclipse
Edit eclipse.ini contained in that directory. It's a file containing all eclipse options as explained in Eclipse Documentation. Add a line to that file with the following content (adjusting according to your native library path)
-Djava.library.path=/usr/lib/jni
Restart Eclipse. Everything should work now (In some cases you may need to restart Linux) .