[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