[vtk-developers] Problems installing VTK

Sebastien Jourdain sebastien.jourdain at kitware.com
Sun Mar 22 10:18:35 EDT 2015


I didn't see anything strange but can you explain your build process? Which property you changed in cmake and how/what did you build in visual studio?

Seb



> On Mar 22, 2015, at 00:11, CSharpdotcom . <csharpdotcom at gmail.com> wrote:
> 
> OK, many thanks, I didn't know that there was such a file, this is
> because I'm so new to VTK and CMake.  The file is in the root folder
> and is attached here.
> 
> I look forward finally to getting this sorted out, as it has now tied
> me up for about a week.
> 
> Christopher Sharp
> 
> On Sat, Mar 21, 2015 at 8:59 PM, Sebastien Jourdain
> <sebastien.jourdain at kitware.com> wrote:
>> I didn't know you had a partial build of VTK. Can you share you
>> CMakeCache.txt.
>> 
>> You must have wrongly setup your build.
>> 
>> Seb
>> 
>> On Sat, Mar 21, 2015 at 6:05 PM, CSharpdotcom . <csharpdotcom at gmail.com>
>> wrote:
>>> 
>>> Hello,
>>> 
>>> Many thanks, but as I'm new ti VTK I don't know which libraries to
>>> load.  However, in looking at:
>>> 
>>> http://www.vtk.org/Wiki/VTK/Examples/Java/Miscellaneous/Cone6
>>> 
>>> which has similar code.  The statement:
>>> 
>>> System.loadLibrary("vtkCommonJava");
>>> 
>>> doesn't load as there is no dll with that name in the folder
>>> C:\VTK\bin\Release, but:
>>> 
>>> System.loadLibrary("vtkCommonCoreJava");
>>> 
>>> does load correctly as there is a dll with that name.  This applies to
>>> a few other files, but not all of them.  Without the required dlls
>>> loaded, even if no errors are produced, the code will not execute.
>>> 
>>> If I go back to the original code when I try and load everything, then
>>> I get the error message:
>>> 
>>> java.lang.UnsatisfiedLinkError:
>>> C:\VTK\bin\Release\vtkChartsCoreJava.dll: Can't find dependent
>>> libraries
>>> 
>>> The file vtkChartsCoreJava.dll is present in that folder, so it is
>>> loaded, but its dependencies cannot be found.  This applies to quite a
>>> few other dll files with dependencies, and I also get a list of a
>>> large number files that were not loaded from the statement:
>>> 
>>> if (!lib.IsLoaded()) System.out.println(lib.GetLibraryName() + " not
>>> loaded");
>>> 
>>> inside the for-loop in an earlier message.
>>> 
>>> It looks that without these large number of files, possibly all of
>>> them, that have not been loaded the code will not work, even if I skip
>>> over the bad loads or put the loop in a try-catch loop.  This must
>>> have something to do with the error message in the log during the
>>> build process with Visual Studio Pro 2010 I did a few days ago.
>>> 
>>> I don't fully understand the log, but the section where it failed is here:
>>> 
>>> 112>Link:
>>> 112>     Creating library C:/VTK/lib/Release/vtkRenderingCoreJava.lib
>>> and object C:/VTK/lib/Release/vtkRenderingCoreJava.exp
>>> 114>  vtkDepthPeeling_fs.cxx
>>> 114>  vtkGaussianBlurPassShader_fs.cxx
>>> 114>  vtkLighting_s.cxx
>>> 114>  vtkLightingHelper_s.cxx
>>> 114>  vtkOpenGLRenderer_PeelingFS.cxx
>>> 114>  vtkOpenGLPropertyDefaultPropFunc_fs.cxx
>>> 114>  vtkOpenGLPropertyDefaultPropFunc_vs.cxx
>>> 112>vtkRenderWindowJava.obj : error LNK2019: unresolved external
>>> symbol __imp__JAWT_GetAWT at 8 referenced in function
>>> _Java_vtk_vtkPanel_RenderCreate at 12
>>> 112>C:\VTK\bin\Release\vtkRenderingCoreJava.dll : fatal error LNK1120:
>>> 1 unresolved externals
>>> 114>  vtkOpenGLPropertyDefaultMain_fs.cxx
>>> 112>
>>> 112>Build FAILED.
>>> 112>
>>> 112>Time Elapsed 00:01:32.30
>>> 
>>> Obviously vtkRenderingCoreJava.dll failed to link, which must be the
>>> cause of the problems I'm having.  This was the only failure, with the
>>> other 387 compilations and linking successful.  If this problem can be
>>> fixed, I hope I will be home and dry.
>>> 
>>> I would most appreciate you or someone else kindly getting this resolved.
>>> 
>>> csharp
>>> 
>>> On Sat, Mar 21, 2015 at 3:04 PM, Sebastien Jourdain
>>> <sebastien.jourdain at kitware.com> wrote:
>>>> Try to load the libraries that you need to load instead of all of them.
>>>> It
>>>> seems that you didn't build everything (which is probably fine).
>>>> 
>>>> Seb
>>>> 
>>>> On Sat, Mar 21, 2015 at 2:58 PM, CSharpdotcom . <csharpdotcom at gmail.com>
>>>> wrote:
>>>>> 
>>>>> I already had PATH=C:\VTK\bin\Release, and added ;%PATH% at the end,
>>>>> but it still doesn't work, and get the following output:
>>>>> 
>>>>> java.lang.UnsatisfiedLinkError:
>>>>> C:\VTK\bin\Release\vtkChartsCoreJava.dll: Can't find dependent
>>>>> libraries
>>>>>    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
>>>>>    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1937)    at
>>>>> java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1937)
>>>>>    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1855)
>>>>>    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
>>>>>    at java.lang.System.loadLibrary(System.java:1119)
>>>>>    at vtk.vtkNativeLibrary.LoadLibrary(vtkNativeLibrary.java:214)
>>>>> at vtk.vtkNativeLibrary.LoadLibrary(vtkNativeLibrary.java:214)
>>>>>    at
>>>>> vtk.vtkNativeLibrary.LoadAllNativeLibraries(vtkNativeLibrary.java:149)
>>>>>    at
>>>>> 
>>>>> vtk.sample.rendering.AwtConeRendering.<clinit>(AwtConeRendering.java:19)
>>>>> java.lang.UnsatisfiedLinkError:
>>>>> C:\VTK\bin\Release\vtkDomainsChemistryJava.dll: Can't find dependent
>>>>> libraries
>>>>>    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
>>>>>    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1937)
>>>>>    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1855)
>>>>>    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
>>>>>    at java.lang.System.loadLibrary(System.java:1119)
>>>>>    at vtk.vtkNativeLibrary.LoadLibrary(vtkNativeLibrary.java:214)
>>>>>    at
>>>>> vtk.vtkNativeLibrary.LoadAllNativeLibraries(vtkNativeLibrary.java:149)
>>>>>    at
>>>>> 
>>>>> vtk.sample.rendering.AwtConeRendering.<clinit>(AwtConeRendering.java:19)
>>>>> ...................
>>>>> 
>>>>> These error messages continue, then a list of files not loaded are
>>>>> printed out, as given in the source code.
>>>>> 
>>>>> Based on these error messages it's picking up the dll files in the
>>>>> \Release folder, but it's unable to find other files that these dll
>>>>> files depend on.
>>>>> 
>>>>> Do you want a full listing of the Java source file?  The
>>>>> AwtConeRendering class starts off with:
>>>>> 
>>>>>  static {
>>>>>    System.out.println(System.getProperty("java.library.path"));
>>>>>    if (!vtkNativeLibrary.LoadAllNativeLibraries()) {
>>>>>      for (vtkNativeLibrary lib : vtkNativeLibrary.values()) {
>>>>>        if (!lib.IsLoaded()) {
>>>>>          System.out.println(lib.GetLibraryName() + " not loaded");
>>>>>        }
>>>>>      }
>>>>>    }
>>>>>    vtkNativeLibrary.DisableOutputWindow(null);
>>>>>  }
>>>>> 
>>>>> which is followed by the main() method, which contains statements such
>>>>> as:
>>>>> 
>>>>> vtkConeSource cone = new vtkConeSource();
>>>>> 
>>>>> csharp
>>>>> 
>>>>> On Sat, Mar 21, 2015 at 10:26 AM, Sebastien Jourdain
>>>>> <sebastien.jourdain at kitware.com> wrote:
>>>>>> Te java.library.path is not enough and you need to add into your
>>>>>> environment
>>>>>> PATH the following directory, C:\VTK\bin\Release.
>>>>>> 
>>>>>> set PATH=C:\VTK\bin\Release;%PATH%
>>>>>> 
>>>>>> Seb
>>>>>> 
>>>>>> On Sat, Mar 21, 2015 at 10:33 AM, CSharpdotcom .
>>>>>> <csharpdotcom at gmail.com>
>>>>>> wrote:
>>>>>>> 
>>>>>>> Hello,
>>>>>>> 
>>>>>>> I'm new to VTK and this is my first posting here or on any other
>>>>>>> forum
>>>>>>> related to VTK.
>>>>>>> 
>>>>>>> I've been trying for about a week to get VTK installed and running
>>>>>>> on
>>>>>>> my computer.  The project I'm working on is to use Java with VTK to
>>>>>>> represent 3D graphics, which I hope to use with NetBeans 8.0.2.  I
>>>>>>> also have Visual Studio Pro 2010.
>>>>>>> 
>>>>>>> After failed attempts in installing VTK  6.2.0 and the latest
>>>>>>> version
>>>>>>> of CMake, from the link
>>>>>>> 
>>>>>>> http://www5.cs.fau.de/en/conrad/tutorials/itk-and-vtk-wrapping/wrap-vtk
>>>>>>> I downloaded and unzipped VTK 6.1.0 and CMake 3.0.0, then installed
>>>>>>> them.
>>>>>>> 
>>>>>>> I then ran CMake according to the instructions on that link and
>>>>>>> installed the generated code in the folder C:\VTK.  I then clicked
>>>>>>> on
>>>>>>> the file VTK.sin in that folder, which opened up Visual Studio and
>>>>>>> started compiling the code with a large number of modules in the
>>>>>>> project.  This took about an hour, and on completion, generated the
>>>>>>> line at the end:
>>>>>>> 
>>>>>>> Build: 387 succeeded, 1 failed, 0 up-to-date, 0 skipped
>>>>>>> 
>>>>>>> I saved this in a file, which is very long, and after some effort
>>>>>>> found the error message:
>>>>>>> 
>>>>>>> 112>C:\VTK\bin\Release\vtkRenderingCoreJava.dll : fatal error
>>>>>>> LNK1120:
>>>>>>> 1 unresolved externals
>>>>>>> 
>>>>>>> In the mean time I attempted to recompile the project, which was
>>>>>>> much
>>>>>>> quicker, and got the same message.  In  recompiled I checked the
>>>>>>> "INSTALL" option, which had not previously been checked, although I
>>>>>>> don't know if that is significant.
>>>>>>> 
>>>>>>> Located in the folder \VTK\java\sample\rendering is the source file
>>>>>>> AwTConeRendering.java, which apparently has not been compiled.  I
>>>>>>> created a NetBeans project and copied that file into it, then linked
>>>>>>> vtk.jar in the folder \VTK\bin to the project, and all imports were
>>>>>>> satisfied.  In setting the Windows path to point to the dll files in
>>>>>>> \VTK\bin\Release, the application appears to pick up the dll files
>>>>>>> correctly, however, I get the following error message:
>>>>>>> 
>>>>>>> java.lang.UnsatisfiedLinkError:
>>>>>>> C:\VTK\bin\Release\vtkChartsCoreJava.dll: Can't find dependent
>>>>>>> libraries
>>>>>>> 
>>>>>>> repeated for many dll files.  Incidentally, as Visual Studio dlls
>>>>>>> are
>>>>>>> all 32 bits, as far as I know, I set up NetBeans to use a 32 bit
>>>>>>> JVM.
>>>>>>> This had previously been tested successfully with a test dll I
>>>>>>> created
>>>>>>> with Visual Studio and could execute with NetBeans.
>>>>>>> 
>>>>>>> This problem is presumably related to the first error mentioned
>>>>>>> above,
>>>>>>> and would be most grateful in getting this issue resolved.  As I
>>>>>>> said,
>>>>>>> I'm new to VTK, and in fact only in the last couple of weeks have
>>>>>>> tried for the first time to call a dll file from a Java application
>>>>>>> on
>>>>>>> a Windows computer.
>>>>>>> 
>>>>>>> In the Java code I added the statement:
>>>>>>> 
>>>>>>> System.out.println(System.getProperty("java.library.path"));
>>>>>>> 
>>>>>>> to check that the path was correct, which is the case.
>>>>>>> _______________________________________________
>>>>>>> Powered by www.kitware.com
>>>>>>> 
>>>>>>> Visit other Kitware open-source projects at
>>>>>>> http://www.kitware.com/opensource/opensource.html
>>>>>>> 
>>>>>>> Search the list archives at:
>>>>>>> http://markmail.org/search/?q=vtk-developers
>>>>>>> 
>>>>>>> Follow this link to subscribe/unsubscribe:
>>>>>>> http://public.kitware.com/mailman/listinfo/vtk-developers
> <CMakeCache.txt>


More information about the vtk-developers mailing list