<div class="gmail_quote">On Mon, Jun 24, 2013 at 9:25 AM, Randy Heiland <span dir="ltr"><<a href="mailto:heiland@indiana.edu" target="_blank">heiland@indiana.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello,<br>
<br>
Thought I'd take a stab at VTK6 and will ask the about the build process, in general, as well as a specific link error, while I also dig a little deeper. I did a simple cmake/build via:<br>
cmake -DCMAKE_CXX_COMPILER:FILEPATH=/usr/bin/g++ -DCMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc ../VTK6.0.0.rc3<br>
<br>
and make install. Then I downloaded the tarball from here: <a href="http://www.vtk.org/Wiki/VTK/Examples/Cxx/IO/SimplePointsReader" target="_blank">http://www.vtk.org/Wiki/VTK/Examples/Cxx/IO/SimplePointsReader</a> , did a successful cmake on it, but then got:<br>
<br>
~/dev/vtk6-play/SimplePointsReader/build$ make<br>
Scanning dependencies of target SimplePointsReader<br>
[100%] Building CXX object CMakeFiles/SimplePointsReader.dir/SimplePointsReader.cxx.o<br>
Linking CXX executable SimplePointsReader.app/Contents/MacOS/SimplePointsReader<br>
ld: library not found for -lvtkFiltersParallelFlowPaths<br>
collect2: ld returned 1 exit status<br>
<br>
This seemed curious, since I hadn't turned on any parallel flags in the VTK cmake. But sure enough, I saw that some parallel libs had been built, e.g.:<br>
~/dev/vtk6-build$ ls /usr/local/lib/libvtk*Paral*.dylib<br>
/usr/local/lib/libvtkFiltersParallel-6.0.1.dylib*<br>
/usr/local/lib/libvtkFiltersParallel-6.0.dylib@<br>
/usr/local/lib/libvtkFiltersParallelImaging-6.0.1.dylib*<br>
/usr/local/lib/libvtkFiltersParallelImaging-6.0.dylib@<br>
/usr/local/lib/libvtkIOParallel-6.0.1.dylib*<br>
/usr/local/lib/libvtkIOParallel-6.0.dylib@<br>
/usr/local/lib/libvtkParallelCore-6.0.1.dylib*<br>
/usr/local/lib/libvtkParallelCore-6.0.dylib@<br>
<br>
Fwiw, I also have:<br>
~/dev/vtk6-build$ grep parallel CMakeCache.txt |grep bool<br>
Module_vtkFiltersParallelFlowPaths:BOOL=OFF<br>
Module_vtkFiltersParallelGeometry:BOOL=OFF<br>
Module_vtkFiltersParallelMPI:BOOL=OFF<br>
Module_vtkFiltersParallelStatistics:BOOL=OFF<br>
Module_vtkIOMPIParallel:BOOL=OFF<br>
Module_vtkIOParallelExodus:BOOL=OFF<br>
Module_vtkIOParallelLSDyna:BOOL=OFF<br>
Module_vtkIOParallelNetCDF:BOOL=OFF<br>
Module_vtkInfovisParallel:BOOL=OFF<br>
Module_vtkParallelMPI:BOOL=OFF<br>
Module_vtkRenderingParallel:BOOL=OFF<br>
<br>
So, a couple questions - why are parallel libs being built and why does this example seem to require them? Apologies if I missed info on the wiki, etc.<br></blockquote><div><br>Part of this stems from the CMakeLists.txt in the example - if you use find_package(VTK) without specifying components then use ${VTK_LIBRARIES} you will basically link to everything VTK built. This is not normally what people want, and you can see the pre-6.0 version called out vtkHybrid. The wiki page below provides more background,<br>
<br><a href="http://www.vtk.org/Wiki/VTK/Build_System_Migration">http://www.vtk.org/Wiki/VTK/Build_System_Migration</a><br><br>It leads to the question of why the VTK you built thinks vtkFiltersParallelFlowPaths was enabled when it was now. We will build some of the parallel modules that do not require MPI for example - they are probably in the StandAlone group, although it is possible they would be better in a parallel group of their own. The examples attempt to work with VTK 5 and 6, adding the components would make that harder to achieve which is why I think their CMake code is written the way it is.<br>
<br>Hope that makes it clearer, thanks for bringing this up. I would like to get to the bottom of why VTK has incorrectly labelled a module as enabled that was not built.<br><br>Marcus<br></div></div>