Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to load library 'rococoa' #3904

Closed
cyberduck opened this issue Nov 14, 2009 · 9 comments
Closed

Unable to load library 'rococoa' #3904

cyberduck opened this issue Nov 14, 2009 · 9 comments

Comments

@cyberduck
Copy link
Collaborator

0e004f3 created the issue

If I keep the Cyberduck app anywhere else but inside the applications folder it will launch.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

A previous reporter posted the following stacktrace from the system.log.

01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]	[JavaAppLauncher Warning] Java application launched from PPC stub. Relaunching in 32-bit, and tagging sub-processes to prefer 32-bit with $JAVA_ARCH=i386.
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]	[LaunchRunner Error] ch.cyberduck.ui.cocoa.CDMainApplication.main(String[]) threw an exception:
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]	java.lang.UnsatisfiedLinkError: Unable to load library 'rococoa': dlopen(librococoa.dylib, 9): Library not loaded: @executable_path/../Frameworks/Sparkle.framework/Versions/A/Sparkle
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]	  Referenced from: /Applications/Cyberduck.app/Contents/Resources/Java/librococoa.dylib
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]	  Reason: image not found
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]		at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:164)
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]		at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:237)
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]		at com.sun.jna.Library$Handler.<init>(Library.java:140)
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]		at com.sun.jna.Native.loadLibrary(Native.java:372)
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]		at com.sun.jna.Native.loadLibrary(Native.java:357)
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]		at org.rococoa.Foundation.<clinit>(Foundation.java:76)
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]		at org.rococoa.Rococoa.create(Rococoa.java:59)
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]		at org.rococoa.Rococoa.create(Rococoa.java:75)
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]		at ch.cyberduck.ui.cocoa.foundation.NSAutoreleasePool.push(NSAutoreleasePool.java:14)
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]		at ch.cyberduck.ui.cocoa.CDMainApplication.main(CDMainApplication.java:47)
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]		at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]		at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]		at java.lang.reflect.Method.invoke(Method.java:597)
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]		at apple.launcher.LaunchRunner.run(LaunchRunner.java:115)
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]		at apple.launcher.LaunchRunner.callMain(LaunchRunner.java:50)
01.11.09 13:07:43	[0x0-0xd30d3].ch.sudo.cyberduck[1246]		at apple.launcher.JavaApplicationLauncher.launch(JavaApplicationLauncher.java:52)

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Can you find any similar related output in the system.log (/Applications/Utilities/Console.app)?

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Cyberduck will launch if the app is located anywhere else. For now I keep it on the desktop.

@cyberduck
Copy link
Collaborator Author

Richard Fairhurst commented

Same problem for me using Cyberduck 3.5.1 (10.5.8, 2.5GHz Core 2 Duo MBP). Moving it outside the Applications folder doesn't help. Console log as follows:

22/06/2010 11:47:01 [0x0-0x57057].ch.sudo.cyberduck[915] [JavaAppLauncher] A 64-bit JVM is available for 1.6.0 
22/06/2010 11:47:01 [0x0-0x57057].ch.sudo.cyberduck[915] [JavaAppLauncher] and it is the only version available 
22/06/2010 11:47:01 [0x0-0x57057].ch.sudo.cyberduck[915] [JavaAppLauncher] JVMArchs not found in Java dictionary 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915] [LaunchRunner Error] ch.cyberduck.ui.cocoa.MainApplication.main(String[]) threw an exception: 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915] java.lang.UnsatisfiedLinkError: Unable to load library 'rococoa': dlopen(librococoa.dylib, 9): Library not loaded: @executable_path/../Frameworks/Sparkle.framework/Versions/A/Sparkle 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915]   Referenced from: /Users/richardfairhurst/Web/Cyberduck.app/Contents/Resources/Java/librococoa.dylib 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915]   Reason: image not found 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915]  at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:164) 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915]  at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:237) 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915]  at com.sun.jna.Library$Handler.<init>(Library.java:140) 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915]  at com.sun.jna.Native.loadLibrary(Native.java:372) 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915]  at com.sun.jna.Native.loadLibrary(Native.java:357) 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915]  at org.rococoa.Foundation.<clinit>(Foundation.java:76) 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915]  at org.rococoa.Rococoa.createClass(Rococoa.java:49) 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915]  at org.rococoa.cocoa.foundation.NSObject.<clinit>(NSObject.java:28) 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915]  at ch.cyberduck.ui.cocoa.MainApplication.main(MainApplication.java:48) 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915]  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915]  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915]  at java.lang.reflect.Method.invoke(Method.java:597) 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915]  at apple.launcher.LaunchRunner.run(LaunchRunner.java:115) 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915]  at apple.launcher.LaunchRunner.callMain(LaunchRunner.java:50) 
22/06/2010 11:47:02 [0x0-0x57057].ch.sudo.cyberduck[915]  at apple.launcher.JavaApplicationLauncher.launch(JavaApplicationLauncher.java:52) 

Quick Google suggests that http://stackoverflow.com/questions/1670859/wrapping-an-existing-application-with-jni may possibly have some relevant suggestions on fixing it.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Please check the folders /Library/Java/Extensions and ~/Library/Java/Extensions for thirdparty libraries installed.

@cyberduck
Copy link
Collaborator Author

0f1f518 commented

I suddenly have this problem after updating through the built-in menu today. I have no files in either Java/Extensions folder and it does not work even if I move Cyberduck to the Desktop.

From system.log:

[0x0-0x4c74c7].ch.sudo.cyberduck[6636]: [LaunchRunner Error] ch.cyberduck.ui.cocoa.MainApplication.main(String[]) threw an exception:
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]: java.lang.UnsatisfiedLinkError: Unable to load library 'rococoa': dlopen(librococoa.dylib, 9): Library not loaded: @executable_path/../Frameworks/Sparkle.framework/Versions/A/Sparkle
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]:   Referenced from: /Applications/Cyberduck.app/Contents/Resources/Java/librococoa.dylib
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]:   Reason: image not found
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]: 	at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:163)
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]: 	at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:236)
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]: 	at com.sun.jna.Library$Handler.<init>(Library.java:140)
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]: 	at com.sun.jna.Native.loadLibrary(Native.java:379)
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]: 	at com.sun.jna.Native.loadLibrary(Native.java:364)
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]: 	at org.rococoa.Foundation.<clinit>(Foundation.java:76)
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]: 	at org.rococoa.Rococoa.createClass(Rococoa.java:49)
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]: 	at org.rococoa.cocoa.foundation.NSObject.<clinit>(NSObject.java:28)
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]: 	at ch.cyberduck.ui.cocoa.MainApplication.main(MainApplication.java:47)
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]: 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]: 	at java.lang.reflect.Method.invoke(Method.java:597)
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]: 	at apple.launcher.LaunchRunner.run(LaunchRunner.java:115)
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]: 	at apple.launcher.LaunchRunner.callMain(LaunchRunner.java:50)
[0x0-0x4c74c7].ch.sudo.cyberduck[6636]: 	at apple.launcher.JavaApplicationLauncher.launch(JavaApplicationLauncher.java:52)

@cyberduck
Copy link
Collaborator Author

richard fairhurst commented

Just fixed this by changing the Java Application Runtime Settings in Java Preferences.

I previously had J2SE 5.0, J2SE 5.0 (64-bit), Java SE 6 (64-bit), J2SE 1.4.2, in that order. I have now swapped the first two around so that the 64-bit version is first, and therefore preferred. Cyberduck will now launch ok.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

Replying to [comment:9 richard fairhurst]:

Just fixed this by changing the Java Application Runtime Settings in Java Preferences.

I previously had J2SE 5.0, J2SE 5.0 (64-bit), Java SE 6 (64-bit), J2SE 1.4.2, in that order. I have now swapped the first two around so that the 64-bit version is first, and therefore preferred. Cyberduck will now launch ok.

We ship the native library of Rococoa as a universal binary.

librococoa.dylib: Mach-O universal binary with 3 architectures
librococoa.dylib (for architecture ppc7400):	Mach-O dynamically linked shared library ppc
librococoa.dylib (for architecture i386):	Mach-O dynamically linked shared library i386
librococoa.dylib (for architecture x86_64):	Mach-O 64-bit dynamically linked shared library x86_64

I don't see a reason why it should not load with J2SE 5.0 or J2SE 5.0 (64-bit). Is this a unsupported configuration by Apple (i.e. custom build Java runtime?) I don't know of a 64bit J2SE 5.0 release.

@cyberduck
Copy link
Collaborator Author

richard fairhurst commented

As far as I know it's not a custom build - I've not knowingly installed one. JavaVM framework appears to be 12.1.0 if that helps. I haven't installed the Java for Mac OS X 10.5 Update 5.

@iterate-ch iterate-ch locked as resolved and limited conversation to collaborators Nov 26, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants