[vtkusers] VTK 5.0 with Java Wrappings On OS X will not work
Vivek Dwivedi
vivekd at mail630.gsfc.nasa.gov
Mon Jun 26 14:11:49 EDT 2006
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