[vtkusers] VTK 5.0 with Java Wrappings On OS X will not work

Mike Jackson imikejackson at gmail.com
Mon Jun 26 19:19:52 EDT 2006


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