[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Subclipse 0.9.31 OS X

From: Scott Palmer <scott.palmer_at_2connected.org>
Date: 2005-05-30 21:27:23 CEST

On May 30, 2005, at 1:59 PM, Andrew Vaughan wrote:

> Hi Scott
>
> I have no experience with Mac OS. However since your problems seem
> similar to my experience with Java on linux, I have replied based on
> the understanding that OS X shares significant similarities to linux.
> If you note anything that is different, please correct me.
> ...

> My understanding is that Sun's Java only looks for jni libraries in
> the
> directories specified by the system property java.library.path. If
> not
> set, it uses defaults values. On windows these defaults include the
> entire path. On my Debian box path is ignored, LD_LIBRARY_PATH is
> added if set (by default on this box it is not set), otherwise java
> uses only paths internal to the jdk.
> ...

> Directories internal to the jdk are not a sensible place for
> subversion
> to install a native library. The native library would need to be
> copied/linked for each installed jdk/jre. (This box has 3 official
> jdks + 4 open-source java implementations). If I install a new jdk,
> then the new jdk won't include the jni libraries. If I rm -rf the old
> jdk, then I've deleted the jni libraries.

>> ...
>> Yes, I think that is the proper solution. "make install-javahl" by
>> necessity should leaving things in a state where the JNI library will
>> load successfully by the Java runtime.

> ...
> iv) or manually copy / link the necessary libs somewhere java looks
> for
> each installed jdk;

On Mac OS X this is not necessary. java.library.path has several
"standard" (on Mac) directories added to it by default.

/Libraries/Java/Extensions is one such folder.
Users can also add extensions that only apply to them in ~/Libraries/
Java/Extensions

>
> v) or find some way for javahl/subclipse to tell java at run-time
> where
> to find the jni libs.
>
>
>> I built Subversion 1.2.x on OS X. Did "make install" and make
>> "install-javahl". Both appeared to complete without any errors.
>> However, the Subclipse plugin is unable to load the javahl library,
>> presumably because various bits of native code are not in a place
>> accessible by the Java runtime. I interpret this as "make install-
>> javahl" not doing it's job adequately.
>>
>>
> Any compile time only solutions will probably have problems whenever
> jdks/jres are added removed after installing subversion.

Actually the global /Libraries/Java/Extension folder fixes that issue.

I see that I do have a symbolic link:
/Libraries/Java/Extensions/libsvnjavahl.jnilib -> /usr/local/lib/
libsvnjavahl-1.dylib

where:
/usr/local/lib/libsvnjavahl-1.dylib -> libsvnjavahl-1.0.dylib

So it would seem that some thought was put into this... But I just
noticed that the date on that link in the Extensions folder is very
old relative to when I did the install. (Apr 5th, vs. May 28th) And
a similar link is present within /usr/local/lib itself
(libsvnjavahl-1.jnilib -> /usr/local/lib/libsvnjavahl-1.dylib) with
the same Apr 5th date.
Perhaps that link was made by an earlier attempt to install pre-built
binaries.. I forget now.

In any case such a link exists but is not enough to make things
work. I think what is missing is a link to the javahl JAR file...
I'm about to test that hypothesis...

Nope.. that's didn't seem to help... in fact I have now noticed this
exception, it was not reported through the Eclipse UI.. I found it in
the 'console'.

!ENTRY org.eclipse.osgi 2005-05-30 15:21:50.943
!MESSAGE An error occured while automatically activating bundle
org.tigris.subversion.subclipse.ui (94).
!STACK 0
org.osgi.framework.BundleException: The activator
org.tigris.subversion.subclipse.ui.SVNUIPlugin for bundle
org.tigris.subversion.subclipse.ui is invalid
     at
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActiva
tor(AbstractBundle.java:151)
     at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.start
(BundleContextImpl.java:965)
     at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker
(BundleHost.java:321)
     at org.eclipse.osgi.framework.internal.core.AbstractBundle.start
(AbstractBundle.java:266)
     at
org.eclipse.core.runtime.adaptor.EclipseClassLoader.findLocalClass
(EclipseClassLoader.java:112)
     at
org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass
(BundleLoader.java:337)
     at
org.eclipse.osgi.framework.internal.core.BundleLoader.findClass
(BundleLoader.java:389)
     at
org.eclipse.osgi.framework.internal.core.BundleLoader.findClass
(BundleLoader.java:350)
     at
org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader.loadClass
(AbstractClassLoader.java:74)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
     at
org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass
(BundleLoader.java:275)
     at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass
(BundleHost.java:227)
     at
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass
(AbstractBundle.java:1259)
     at
org.eclipse.core.internal.registry.ConfigurationElement.createExecutable
Extension(ConfigurationElement.java:152)
     at
org.eclipse.core.internal.registry.ConfigurationElement.createExecutable
Extension(ConfigurationElement.java:142)
     at
org.eclipse.core.internal.registry.ConfigurationElement.createExecutable
Extension(ConfigurationElement.java:129)
     at
org.eclipse.core.internal.registry.ConfigurationElementHandle.createExec
utableExtension(ConfigurationElementHandle.java:48)
     at org.eclipse.team.internal.ui.TeamUIPlugin$1.run
(TeamUIPlugin.java:88)
     at org.eclipse.swt.custom.BusyIndicator.showWhile
(BusyIndicator.java:69)
     at org.eclipse.team.internal.ui.TeamUIPlugin.createExtension
(TeamUIPlugin.java:85)
     at
org.eclipse.team.internal.ui.wizards.ConfigurationWizardElement.createEx
ecutableExtension(ConfigurationWizardElement.java:48)
     at
org.eclipse.team.internal.ui.wizards.ConfigureProjectWizardMainPage
$1.selectionChanged(ConfigureProjectWizardMainPage.java:136)
     at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:162)
     at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:1038)
     at org.eclipse.core.runtime.Platform.run(Platform.java:775)
     at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
     at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148)
     at org.eclipse.jface.viewers.Viewer.fireSelectionChanged
(Viewer.java:160)
     at org.eclipse.jface.viewers.StructuredViewer.updateSelection
(StructuredViewer.java:1784)
     at org.eclipse.jface.viewers.StructuredViewer.handleSelect
(StructuredViewer.java:1027)
     at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected
(StructuredViewer.java:1053)
     at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent
(OpenStrategy.java:209)
     at org.eclipse.jface.util.OpenStrategy.access$3
(OpenStrategy.java:204)
     at org.eclipse.jface.util.OpenStrategy$1.handleEvent
(OpenStrategy.java:364)
     at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1380)
     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1404)
     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1389)
     at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1237)
     at org.eclipse.swt.widgets.Display.runDeferredEvents
(Display.java:3035)
     at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:
2696)
     at org.eclipse.jface.window.Window.runEventLoop(Window.java:809)
     at org.eclipse.jface.window.Window.open(Window.java:787)
     at org.eclipse.team.internal.ui.actions.ConfigureProjectAction
$1.run(ConfigureProjectAction.java:55)
     at org.eclipse.team.internal.ui.actions.TeamAction$2.run
(TeamAction.java:234)
     at org.eclipse.swt.custom.BusyIndicator.showWhile
(BusyIndicator.java:69)
     at org.eclipse.team.internal.ui.actions.TeamAction.run
(TeamAction.java:231)
     at
org.eclipse.team.internal.ui.actions.ConfigureProjectAction.run
(ConfigureProjectAction.java:47)
     at org.eclipse.ui.actions.ActionDelegate.runWithEvent
(ActionDelegate.java:70)
     at org.eclipse.ui.internal.PluginAction.runWithEvent
(PluginAction.java:236)
     at
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection
(ActionContributionItem.java:538)
     at org.eclipse.jface.action.ActionContributionItem.access$2
(ActionContributionItem.java:488)
     at org.eclipse.jface.action.ActionContributionItem$5.handleEvent
(ActionContributionItem.java:400)
     at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1380)
     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1404)
     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1389)
     at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1237)
     at org.eclipse.swt.widgets.Display.runDeferredEvents
(Display.java:3035)
     at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:
2696)
     at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:
1694)
     at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1658)
     at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:366)
     at org.eclipse.ui.PlatformUI.createAndRunWorkbench
(PlatformUI.java:143)
     at org.eclipse.ui.internal.ide.IDEApplication.run
(IDEApplication.java:103)
     at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:226)
     at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:375)
     at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:162)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
     at java.lang.reflect.Method.invoke(Method.java:324)
     at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
     at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
     at org.eclipse.core.launcher.Main.run(Main.java:973)
     at org.eclipse.core.launcher.Main.main(Main.java:948)
Caused by: java.lang.NoClassDefFoundError: org/tigris/subversion/
subclipse/core/client/IConsoleListener
     at java.lang.Class.getDeclaredConstructors0(Native Method)
     at java.lang.Class.privateGetDeclaredConstructors(Class.java:1618)
     at java.lang.Class.getConstructor0(Class.java:1930)
     at java.lang.Class.newInstance0(Class.java:278)
     at java.lang.Class.newInstance(Class.java:261)
     at
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActiva
tor(AbstractBundle.java:146)
     ... 75 more
Root exception:
java.lang.NoClassDefFoundError: org/tigris/subversion/subclipse/core/
client/IConsoleListener
     at java.lang.Class.getDeclaredConstructors0(Native Method)
     at java.lang.Class.privateGetDeclaredConstructors(Class.java:1618)
     at java.lang.Class.getConstructor0(Class.java:1930)
     at java.lang.Class.newInstance0(Class.java:278)
     at java.lang.Class.newInstance(Class.java:261)
     at
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActiva
tor(AbstractBundle.java:146)
     at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.start
(BundleContextImpl.java:965)
     at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker
(BundleHost.java:321)
     at org.eclipse.osgi.framework.internal.core.AbstractBundle.start
(AbstractBundle.java:266)
     at
org.eclipse.core.runtime.adaptor.EclipseClassLoader.findLocalClass
(EclipseClassLoader.java:112)
     at
org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass
(BundleLoader.java:337)
     at
org.eclipse.osgi.framework.internal.core.BundleLoader.findClass
(BundleLoader.java:389)
     at
org.eclipse.osgi.framework.internal.core.BundleLoader.findClass
(BundleLoader.java:350)
     at
org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader.loadClass
(AbstractClassLoader.java:74)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
     at
org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass
(BundleLoader.java:275)
     at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass
(BundleHost.java:227)
     at
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass
(AbstractBundle.java:1259)
     at
org.eclipse.core.internal.registry.ConfigurationElement.createExecutable
Extension(ConfigurationElement.java:152)
     at
org.eclipse.core.internal.registry.ConfigurationElement.createExecutable
Extension(ConfigurationElement.java:142)
     at
org.eclipse.core.internal.registry.ConfigurationElement.createExecutable
Extension(ConfigurationElement.java:129)
     at
org.eclipse.core.internal.registry.ConfigurationElementHandle.createExec
utableExtension(ConfigurationElementHandle.java:48)
     at org.eclipse.team.internal.ui.TeamUIPlugin$1.run
(TeamUIPlugin.java:88)
     at org.eclipse.swt.custom.BusyIndicator.showWhile
(BusyIndicator.java:69)
     at org.eclipse.team.internal.ui.TeamUIPlugin.createExtension
(TeamUIPlugin.java:85)
     at
org.eclipse.team.internal.ui.wizards.ConfigurationWizardElement.createEx
ecutableExtension(ConfigurationWizardElement.java:48)
     at
org.eclipse.team.internal.ui.wizards.ConfigureProjectWizardMainPage
$1.selectionChanged(ConfigureProjectWizardMainPage.java:136)
     at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:162)
     at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:1038)
     at org.eclipse.core.runtime.Platform.run(Platform.java:775)
     at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
     at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148)
     at org.eclipse.jface.viewers.Viewer.fireSelectionChanged
(Viewer.java:160)
     at org.eclipse.jface.viewers.StructuredViewer.updateSelection
(StructuredViewer.java:1784)
     at org.eclipse.jface.viewers.StructuredViewer.handleSelect
(StructuredViewer.java:1027)
     at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected
(StructuredViewer.java:1053)
     at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent
(OpenStrategy.java:209)
     at org.eclipse.jface.util.OpenStrategy.access$3
(OpenStrategy.java:204)
     at org.eclipse.jface.util.OpenStrategy$1.handleEvent
(OpenStrategy.java:364)
     at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1380)
     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1404)
     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1389)
     at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1237)
     at org.eclipse.swt.widgets.Display.runDeferredEvents
(Display.java:3035)
     at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:
2696)
     at org.eclipse.jface.window.Window.runEventLoop(Window.java:809)
     at org.eclipse.jface.window.Window.open(Window.java:787)
     at org.eclipse.team.internal.ui.actions.ConfigureProjectAction
$1.run(ConfigureProjectAction.java:55)
     at org.eclipse.team.internal.ui.actions.TeamAction$2.run
(TeamAction.java:234)
     at org.eclipse.swt.custom.BusyIndicator.showWhile
(BusyIndicator.java:69)
     at org.eclipse.team.internal.ui.actions.TeamAction.run
(TeamAction.java:231)
     at
org.eclipse.team.internal.ui.actions.ConfigureProjectAction.run
(ConfigureProjectAction.java:47)
     at org.eclipse.ui.actions.ActionDelegate.runWithEvent
(ActionDelegate.java:70)
     at org.eclipse.ui.internal.PluginAction.runWithEvent
(PluginAction.java:236)
     at
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection
(ActionContributionItem.java:538)
     at org.eclipse.jface.action.ActionContributionItem.access$2
(ActionContributionItem.java:488)
     at org.eclipse.jface.action.ActionContributionItem$5.handleEvent
(ActionContributionItem.java:400)
     at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1380)
     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1404)
     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1389)
     at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1237)
     at org.eclipse.swt.widgets.Display.runDeferredEvents
(Display.java:3035)
     at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:
2696)
     at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:
1694)
     at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1658)
     at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:366)
     at org.eclipse.ui.PlatformUI.createAndRunWorkbench
(PlatformUI.java:143)
     at org.eclipse.ui.internal.ide.IDEApplication.run
(IDEApplication.java:103)
     at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:226)
     at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:375)
     at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:162)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
     at java.lang.reflect.Method.invoke(Method.java:324)
     at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
     at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
     at org.eclipse.core.launcher.Main.run(Main.java:973)
     at org.eclipse.core.launcher.Main.main(Main.java:948)

Scott

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Mon May 30 21:28:57 2005

This is an archived mail posted to the Subversion Users mailing list.