[vtkusers] VTK 5.0 with Java Wrappings On OS X will not work
Vivek Dwivedi
vivekd at mail630.gsfc.nasa.gov
Mon Jun 26 21:18:35 EDT 2006
OK I stuck all the .dylib's and .jnilib to /Library/Java/Extensions
When I try to run Cone5.java I get this error:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no
vtkCommonJava in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
at java.lang.Runtime.loadLibrary0(Runtime.java:822)
at java.lang.System.loadLibrary(System.java:992)
at Cone5.<clinit>(Cone5.java:16)
-Vivek
On Mon, 26 Jun 2006, Mike Jackson wrote:
> Looks right for the otool stuff... now stick those in
> /Library/Java/Extensions and see if Java can pick up the libs...
>
> --------
> Mike Jackson
> imikejackson <at> gmail <dot> com
>
>
>
> On Jun 26, 2006, at 2:11 PM, Vivek Dwivedi wrote:
>
>> OK I rebuild vtk and made sure that skip R path was set to on.
>>
>> My .dylib and .jnilib files are located in /Users/vivekd/VTK/bin
>>
>> when doing a otool -L for libvtkCommonJava.dylib I get the following:
>>
>> libvtkCommonJava.dylib:
>> libvtkCommonJava.dylib.5.0 (compatibility version 0.0.0, current
>> version 0.0.0)
>> libvtkCommon.dylib.5.0 (compatibility version 0.0.0, current version
>> 0.0.0)
>> libvtksys.dylib.5.0 (compatibility version 0.0.0, current version
>> 0.0.0)
>> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
>> (compatibility version 45.0.0, current version 824.38.0)
>> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
>> version 88.1.5)
>> /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current
>> version 7.4.0)
>> /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current
>> version 1.0.0)
>>
>>
>>
>> for libvtkCommonJava.jjnilib
>>
>> libvtkCommonJava.jnilib:
>> libvtkCommonJava.dylib.5.0 (compatibility version 0.0.0, current
>> version 0.0.0)
>> libvtkCommon.dylib.5.0 (compatibility version 0.0.0, current version
>> 0.0.0)
>> libvtksys.dylib.5.0 (compatibility version 0.0.0, current version
>> 0.0.0)
>> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
>> (compatibility version 45.0.0, current version 824.38.0)
>> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
>> version 88.1.5)
>> /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current
>> version 7.4.0)
>> /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current
>> version 1.0.0)
>>
>>
>> I don't know if this is correct or not...
>>
>>
>> -Vivek
>>
>>
>>
>>
>>
>> On Jun 26, 2006, at 10:51 AM, Mike Jackson wrote:
>>
>>> There are a few things that come to mind in all of this. Dynamic Libs on
>>> OS X sometimes have their paths embedded in the library itself so when you
>>> link against them the target library or executable can know where to find
>>> the source libs. This is OK for development when libs and executables are
>>> not moving around, but in some circumstances there can be problems with
>>> this setup, especially if you need to move the final libs to another
>>> directory, like /Library/Java/Extensions after compilation. The problem
>>> becomes when you move it to that new locations, the loader is still
>>> expecting them in the old location because that old location is encoded in
>>> the actual library itself.
>>>
>>> Things that you might want to check are:
>>> ANY library that is built with CMake; Check each one with "otool -L" and
>>> report what comes back. If you the path to your vtk build directory then
>>> you have a few choices:
>>> 1: in Cmake, check for "skip R path" - Make sure it is ON. This will NOT
>>> embed the paths in the libraries. Now you can move the libs to somewhere
>>> that java knows about, like /Library/java/Extensions.
>>> 2: You can use "install_name_tool" to change the embedded paths. This
>>> requires some up front knowledge of the libs, the initial path encoded and
>>> the final path you want to encode. Read the man page for this tool and
>>> google a bit to find all the caveats.
>>>
>>> Try these things and let the list know. Maybe we can figure something
>>> out...
>>>
>>> --------
>>> Mike Jackson
>>> imikejackson <at> gmail <dot> com
>>>
>>>
>>>
>>> On Jun 26, 2006, at 10:28 AM, Vivek Dwivedi wrote:
>>>
>>>> Hello:
>>>>
>>>> After 3 weeks of frustration I have come to the conclusion that VTK 5.0
>>>> with Java Wrappings will not work on OS X 10.4.x. I will detail my steps
>>>> below so that hopefully someone will tell me my mistakes.
>>>>
>>>> my current hardware configuration:
>>>>
>>>> Dual 2 GHz PowerPC G5 - 2.5 GB DDR SDRAM
>>>> OS - Mac OS X 10.4.6
>>>> Java -
>>>> java version "1.5.0_06"
>>>> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-112)
>>>> Java HotSpot(TM) Client VM (build 1.5.0_06-64, mixed mode, sharing)
>>>>
>>>> VTK - Downloaded from vtk.org version 5.0.0
>>>> CMAKE- CMake Version 2.4 - patch 2
>>>>
>>>> Downloaded VTK as a .tar.gz and expanded to /Users/vivekd creating a VTK
>>>> folder
>>>> cd to VTK folder typed ccmake ../vtk
>>>>
>>>> Here is the CCMAKE options:
>>>>
>>>> BUILD_EXAMPLES ON
>>>> BUILD_SHARED_LIBS ON
>>>> CMAKE_BACKWARDS_COMPATIBILITY 2.4
>>>> CMAKE_BUILD_TYPE
>>>> CMAKE_INSTALL_PREFIX /usr/local
>>>> CMAKE_OSX_ARCHITECTURES ppc
>>>> CMAKE_OSX_SYSROOT
>>>> /Developer/SDKs/MacOSX10.4u.sdk
>>>> VTK_DATA_ROOT
>>>> VTK_DATA_ROOT-NOTFOUND
>>>> VTK_USE_CARBON OFF
>>>> VTK_USE_COCOA OFF
>>>> VTK_USE_PARALLEL OFF
>>>> VTK_USE_RENDERING ON
>>>> VTK_USE_RPATH OFF
>>>> VTK_USE_X ON
>>>> VTK_WRAP_JAVA ON
>>>> VTK_WRAP_PYTHON OFF
>>>> VTK_WRAP_TCL OFF
>>>>
>>>> I configured
>>>>
>>>> I then toggled to advanced mode and changed the following Paths:
>>>>
>>>> JAVACOMMAND
>>>> /System/Library/Frameworks/JavaVM.framework/Versions/1.5/Commands/java
>>>> JAVA_ARCHIVE
>>>> /System/Library/Frameworks/JavaVM.framework/Versions/1.5/Commands/jar
>>>> JAVA_AWT_INCLUDE_PATH
>>>> /System/Library/Frameworks/JavaVM.framework/Versions/1.5/Headers
>>>> JAVA_AWT_LIBRARY -framework JavaVM -framework
>>>> JavaEmbedding
>>>> JAVA_COMPILE
>>>> /System/Library/Frameworks/JavaVM.framework/Versions/1.5/Commands/javac
>>>> JAVA_INCLUDE_PATH
>>>> /System/Library/Frameworks/JavaVM.framework/Versions/1.5/Headers
>>>> JAVA_INCLUDE_PATH2
>>>> /System/Library/Frameworks/JavaVM.framework/Versions/1.5/Headers
>>>> JAVA_RUNTIME
>>>> /System/Library/Frameworks/JavaVM.framework/Versions/1.5/Commands/java
>>>>
>>>> OPENGL_INCLUDE_DIR /usr/X11R6/include
>>>> OPENGL_gl_LIBRARY -framework OpenGL
>>>> OPENGL_glu_LIBRARY -framework AGL
>>>>
>>>> Configured again and pressed g
>>>>
>>>> In my prompt I typed Make
>>>>
>>>> and after 45 min. everything compiles fine with no errors.
>>>>
>>>> I changed my DYLD_LIBRARY_PATH to point to the location of the .jnilib
>>>> and .dylib files which are in my bin directory located at
>>>> /Users/vivekd/VTK/bin using the following command
>>>>
>>>> setenv DYLD_LIBRARY_PATH /Users/vivekd/VTK/bin
>>>>
>>>> I then set my CLASSPATH to point to the vtk.jar file with the following
>>>> commands
>>>>
>>>> setenv CLASSPATH .:/Users/vivekd/VTK/bin/vtk.jar
>>>>
>>>> I then CD to /Examples/Tutorial/Step2/Java
>>>>
>>>> I compiled the Cone2.java as follows:
>>>>
>>>> javac Cone2.java
>>>>
>>>> I then try to run Cone2.java as follows:
>>>>
>>>> java Cone2
>>>>
>>>> I get the following error:
>>>>
>>>> Exception in thread "main" java.lang.UnsatisfiedLinkError: VTKInit
>>>> at vtk.vtkConeSource.VTKInit(Native Method)
>>>> at vtk.vtkObject.<init>(vtkObject.java:90)
>>>> at vtk.vtkAlgorithm.<init>(vtkAlgorithm.java:238)
>>>> at vtk.vtkPolyDataAlgorithm.<init>(vtkPolyDataAlgorithm.java:58)
>>>> at vtk.vtkConeSource.<init>(vtkConeSource.java:114)
>>>> at Cone2.main(Cone2.java:43)
>>>>
>>>>
>>>> I have build and rebuilt VTK...I have placed the Cone2.java example in
>>>> the bin directory and compiled but I still get the same error......
>>>>
>>>> Has anyone been able to get vtk with java wrappings to work on a
>>>> mac.........
>>>>
>>>> Any help and all help will be greatly appreciated.......
>>>>
>>>>
>>>> Thank you
>>>>
>>>>
>>>> -Vivek
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> This is the private VTK discussion list.Please keep messages on-topic.
>>>> Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>>>> Follow this link to subscribe/unsubscribe:
>>>> http://www.vtk.org/mailman/listinfo/vtkusers
>
More information about the vtkusers
mailing list