PDA

View Full Version : Data Integration 3.0.4 (GA) + Mac OS X 10.5.3 + JDK 6, spoon doesn't load



qwerty777
06-26-2008, 03:56 PM
Hello,

I'm using a MacBook with OS X 10.5.3, along with the newest JDK 1.6 (64-bit version). When I try to run spoon.sh, here's the error that I get:

NSJVMLoadLibrary: NSAddLibrary failed for /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Libraries/libjvm.dylib
JavaVM FATAL: Failed to load the jvm library.
_NSJVMLoadLibrary: NSAddLibrary failed for /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Libraries/libjvm.dylib
JavaVM FATAL: Failed to load the jvm library.
./libswt/osx/java_swt: Error starting up VM.

Here's the Java version output:
java version "1.6.0_05"
Java(TM) SE Runtime Environment (build 1.6.0_05-b13-120)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_05-b13-52, mixed mode)

The closest error/fix that I came across is this: http://blog.kischuk.com/2008/05/08/running-eclipse-on-macbooks-with-java-6/

I tried setting my Mac to use JDK 1.5 instead, but I still saw that error. It's possible that I may have not done enough config to make my Mac run in JDK 1.5 again (after I had changed it to run under JDK 1.6), so it may be a problem in my settings.

I'm wondering if anyone has come across this before, and know a solution to this.

Thank you very much!
Koichi

MattCasters
06-26-2008, 05:05 PM
No solution. I'm sure the 64-bit JVM is at the root of the problem.

qwerty777
06-26-2008, 05:19 PM
Do you know if I use Mac OS X 10.5.3 + JDK 1.5 32-bit edition, that Kettle should work? If so, I can mess around with my settings to get Java to default to using JDK 1.5.

If you don't know if Mac OS X 10.5.3 + JDK 1.5 works or not, I may just start using it on Linux env instead.

Thanks for your prompt response!
Koichi

MattCasters
06-26-2008, 06:01 PM
We have a number of developers and users that run Kettle on Leopard using 32-bit JVM 5.
The link you gave, confirmed my 64-bit suspicion.
That being said, I'm sure that the Eclipse guys found a solution in Ganymede? Haven't checked it really. You could try to copy the 3.4.0 SWT libraries to libswt/osx.

Matt

MattCasters
06-26-2008, 06:03 PM
Eclipse lists as supported:

Apple Mac OS X 10.5, Universal, Carbon running:
Apple Java 2 Platform Standard Edition (J2SE) 5, service release 4

qwerty777
06-26-2008, 08:38 PM
Hey Matt,

I switched to using JDK 1.5, and everything works as expected. Thanks!

Is there a way to set the JDK path and etc. when Kettle is loaded? That way I can have everything in the system to be using JDK 1.6, except when I'm loading Kettle.

Koichi

MattCasters
06-27-2008, 04:37 AM
You can change the .sh scripts, set the PATH and JAVA_HOME environments variables manually.

qwerty777
06-27-2008, 06:30 PM
I tried the following:

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home/
export PATH=/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home/bin/:$PATH

However, it didn't do it because my mac uses /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Libraries/libjvm.dylib instead.

Do you know of a way to override the way spoon uses libjvm.dylib?

MattCasters
06-28-2008, 04:34 PM
What? More non-standard use of Java on OSX? Say it ain't so!

qwerty777
06-30-2008, 06:13 PM
Apparently so...I guess I'm out of luck for this case.

It seems like the only way to get Mac OS X 10.5.3 to actually use some specific JDK is to change the order of the JDK in the Java App Runtime Settings in "Java Preferences"

I looked for a way to potentially override that behavior, but I could not find any at the moment.

qwerty777
06-30-2008, 06:17 PM
Actually, my mistake.

I need to update this symlink to point to JDK 1.5 before I run it.

/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK

Doesn't seem like I need to update the property in Java Preferences.

Koichi

zachchow
11-17-2008, 06:08 AM
I had the same problem with the latest 3.1GA .dmg file and OSX 10.5.5.
Reading through the documents for Apple on java applications, I came across this :
http://developer.apple.com/documentation/Java/Conceptual/JavaPropVMInfoRef/Articles/JavaDictionaryInfo.plistKeys.html#//apple_ref/doc/uid/TP40001969-SW2

Controlling the Info.plist in the package content for kettle, I noticed that the VMVersion key was imposed as 1.5+, which causes Apple to choose the latest jvm installed, which in my case was jvm1.6 64bit. Setting it to 1.5*, causes Apple to limits the jvm to version 1.5.x and now kettle loads without a problem.

Note: It is important that your JVM preference listing list jvm1.5 32bit before jvm1.5 64bit or else you will end up using the 64bit jvm. (my current preference listing is j2se 6 64bit, j2se 5.0 32 bit, j2se 5.0 64bit)

Hope this has helpful.