Thanks Mike for your response.
I have created a 'jar' file using Java3D API. In this jar file, i'm loading a JNI library using System.loadLibrary().
This jar file is running fine on HP-UX 11.0 32-bit platform.
When i try to run jar file on HP-UX 11.0 64-bit platform with '-d64' option, i'm getting "no J3D in java.library.path" exception. If i'm not using -d64 option, the exception is while loading the JNI target.
Is there any way to solve this problem.
> Thanks Mike for your response.
> I have created a 'jar' file using Java3D API. In this jar file, i'm loading a JNI library using System.loadLibrary().
>
> This jar file is running fine on HP-UX 11.0 32-bit platform.
>
> When i try to run jar file on HP-UX 11.0 64-bit platform with '-d64' option, i'm getting "no J3D in java.library.path" exception. If i'm not using -d64 option, the exception is while loading the JNI target.
The -d64 option won't work with either Java3D or a 32-bit JNI library.
The -d64 mode would require JNI libraries that were built with +DD64 or
+DA2.0W to be 64-bit code.
You should try to get the program to run without the -d64 option.
It sounds like doing that shows some incompatibility between the system
libraries or JVM and the JNI library you created. Or it could just
be that you had some problem with copying the JNI library across to
the other system.
Does the second system have the same version of java and java3d
installed as the first system? You can check that with
swlist | grep -i java

Signature
- [HP is committed to respecting your privacy.] For more information,
visit http://welcome.hp.com/country/us/en/privacy/worldwide_privacy.html
- or contact me at: [mike.stroyan@hp.com or
HP Privacy Mailbox , 20555 SH 249, MS 040307 , Houston, Texas 77070]
Mike Stroyan, mike.stroyan@hp.com
Mike Stroyan - 02 Feb 2005 00:34 GMT
> Does the second system have the same version of java and java3d
> installed as the first system? You can check that with
> swlist | grep -i java
Actually, you would want to use
swlist -l product | grep -i java
to show java products that were installed as parts of bundles.

Signature
- [HP is committed to respecting your privacy.] For more information,
visit http://welcome.hp.com/country/us/en/privacy/worldwide_privacy.html
- or contact me at: [mike.stroyan@hp.com or
HP Privacy Mailbox , 20555 SH 249, MS 040307 , Houston, Texas 77070]
Mike Stroyan, mike.stroyan@hp.com
Malli B - 02 Feb 2005 10:42 GMT
Hi Mike,
I'm using 'DA2.0W' as linker option to build JNI library.
By the way, is there anyway to run the program without using the option '-
d64'? Is there any linker option available?
The Java version used on both the systems is same.
Java version used : 1.4.1.01
Thanks,
Mallik.
Mike Stroyan - 03 Feb 2005 23:34 GMT
> Hi Mike,
> I'm using 'DA2.0W' as linker option to build JNI library.
> By the way, is there anyway to run the program without using the option '-
> d64'? Is there any linker option available?
> The Java version used on both the systems is same.
> Java version used : 1.4.1.01
You must be compiling and linking the JNI library without the +DA2.0W
option on the 32-bit system. A 64-bit +DA2.0W library would not work at
all on a 32-bit system.
If you really need access to Java3D then you will need to use a 32-bit
mode JVM for at least that portion of your application. There is no
support for Java3D in 64-bit mode. If you really want to handle more
than 4GB of data then you might split a task into two cooperating JVMs-
one that runs the Java3D GUI operations and another that performs some
large data operations in a different process.
There is no way to make a .class or .jar file specify that the JVM
will run in 64-bit mode. The JVM is already up and running in either
32-bit or 64-bit mode before it looks at the .class or .jar file.
If you actually linked a native executable that started a JVM with
JNI calls then it would be forced to be a 32-bit or 64-bit program
at compile and link time. The java classes are more flexible than
native code in being able to run under JVMs using either pointer size.
Once a java class needs to load some JNI library it then needs a
version of the library that matches the pointer width of the JVM.
That is were Java3D has trouble with 64-bit JVMs. There are no
64-bit JNI libraries for Java3D.

Signature
- [HP is committed to respecting your privacy.] For more information,
visit http://welcome.hp.com/country/us/en/privacy/worldwide_privacy.html
- or contact me at: [mike.stroyan@hp.com or
HP Privacy Mailbox , 20555 SH 249, MS 040307 , Houston, Texas 77070]
Mike Stroyan, mike.stroyan@hp.com