[Insight-users] Building ITK and VTK on linux

Bill Lorensen wlorens1@nycap.rr.com
Mon, 20 Jan 2003 11:53:17 -0500


Ofri,
Your comments are valuable and appreciated.

FLTK and CABLE are not essential for using itk. Nor is vtk.

The FLTK and vtk applications are present because we thought that users would want to see how to integrate itk (which by design and mandate has no visualization dependencies) with other visualization packages. They are really included for those users who might already have experience with FLTK or vtk. Unfortunately, most users want to build everything we distribute whether or not they may need the additional software. This often leads to installation problems like you have encountered. In fact, most questions we receive on the list deal with these additional packages. We have decided that in the future (when we can get to it), that we will break out the applications into a separate checkout of itk. This means, that out-of-the-box, users should not have to build third-party software.

Bill

At 11:43 AM 1/20/03 -0500, Ofri Sadowsky wrote:
>Next question is about FLTK and CABLE.
>
>1. http://www.itk.org/HTML/RelatedSoftware.htm states that "CABLE is part of the ITK source code distribution", which is no longer true -- the Insight/Utilities/Cable/README says: "The Cable repository is no longer part of the Insight directory structure. The
>tool must be obtained and built separately." I guess this should be fixed.
>
>2. How essential are FTLK and CABLE to the functionality of ITK? I thought it best for me to learn by looking at the examples. But many of them require additional packages installed, of which VTK is only one. By now I've got used to installing the additional
>packages with less trouble. Yet I think it may be helpful for future users to have a note on the Download page mentioning the Related Software, and that many Examples and Applications require the additional software. Probably even better would be to have some
>directory page, that shows a table of the examples and the external packages that they depend on. This should reduce surprises.
>
>3. I would not like to limit the ITK developers, but I am starting to get scared of an inflation in external dependencies. Another good thing about this directory table is, that at least it helps to keep track of their number.
>
>Thanks,
>
>Ofri.
>
>
>
>
>Bill Lorensen wrote:
>
>> Certainly the best solution, but your troubles point out that we need a better vtk-itk synchronization.
>>
>> Bill
>>
>> At 01:59 PM 1/19/03 -0500, Ofri Sadowsky wrote:
>> >Simpler solution -- use all-cvs version of vtk and itk. This seems to work.
>> >
>> >Ofri.
>> >
>> >Bill Lorensen wrote:
>> >
>> >> Ofri,
>> >> You have entered vtk/itk version hell. There is hope, but you may have to make a couple of fixes to your itk1.0. The errors are because the vtk developers have been sweeping through vtk to remove "unnecessary" include files. So, go into vtk2itk.cxx and add
>> >> #include "vtkCellArray.h"
>> >>
>> >> There may be other places you will have to do this.
>> >>
>> >> Sorry about the inconvenience,
>> >>
>> >> Bill
>> >>
>> >> At 03:59 PM 1/17/03 -0500, Ofri Sadowsky wrote:
>> >> >Hi Bill & All,
>> >> >
>> >> >I installed the newest cvs version of VTK (I think it's 4.1.something) and rebuilt the whole VTK from
>> >> >scratch. Then I rebuild Insight 1.0.0 again from scratch, but I keep getting compilation errors. Now
>> >> >it's in the file:
>> >> >
>> >> >InsightToolkit-1.0.0/Auxiliary/vtk/vtk2itk.cxx
>> >> >
>> >> >and the last error message is
>> >> >
>> >> >In
>> >> >   function `vtkUnstructuredGrid* MeshToUnstructuredGrid(floatMesh*)':
>> >> >/usr/local/erc-share/downloaded-src/itk10/InsightToolkit-1.0.0/Auxiliary/vtk/vtk2itk.cxx:271: no
>> >> >   method `vtkCellArray::New'
>> >> >/usr/local/erc-share/downloaded-src/itk10/InsightToolkit-1.0.0/Auxiliary/vtk/vtk2itk.cxx:272: invalid
>> >> >   use of undefined type `struct vtkCellArray'
>> >> >/usr/local/erc-share/downloaded-src/vtk4x-cvs/VTK/IO/vtkDataWriter.h:36: forward   declaration of
>> >> >`struct vtkCellArray'
>> >> >/usr/local/erc-share/downloaded-src/itk10/InsightToolkit-1.0.0/Auxiliary/vtk/vtk2itk.cxx:292: invalid
>> >> >   use of undefined type `struct vtkCellArray'
>> >> >/usr/local/erc-share/downloaded-src/vtk4x-cvs/VTK/IO/vtkDataWriter.h:36: forward   declaration of
>> >> >`struct vtkCellArray'
>> >> >
>> >> >
>> >> >Now, I cannot be sure if the problem is because of the VTK version or because of ITK. All I could find
>> >> >on the VTK web page was:
>> >> >
>> >> >1. Download VTK 4.0
>> >> >2. Download VTK 4.x Nightly Release
>> >> >3. Unsupported Linux Pre-Compiled Binaries (RPMS)
>> >> >
>> >> >The unofficial rpm has problems with TCL support, so I dropped it. But in general it should be no
>> >> >different from the nightly release. Bill has ruled out the use of VTK 4.0. What is the next step, then?
>> >> >
>> >> >
>> >> >Thanks,
>> >> >
>> >> >Ofri.
>> >> >
>> >> >
>> >> >"Lorensen, William E (Research)" wrote:
>> >> >
>> >> >> Orfi,
>> >> >>
>> >> >> I suspect that ITK will not build witk VTK4.0. 4.0 is about a year old and, if I recall, itk may be
>> >> >> taking advantage of features added shortly after the VTK 4.0 release. We are attempting to
>> >> >> synchronize a vtk 4.2 and itk 1.1 release in the next few weeks. If you can't wait for that, you'll
>> >> >> have to take cvs checkouts of both systems.
>> >> >>
>> >> >> Bill
>> >> >>
>> >> >> -----Original Message-----
>> >> >> From: Ofri Sadowsky [mailto:ofri@cs.jhu.edu]
>> >> >> Sent: Thursday, January 16, 2003 5:22 PM
>> >> >> To: insight users
>> >> >> Subject: [Insight-users] Building ITK and VTK on linux
>> >> >>
>> >> >> Hi,
>> >> >>
>> >> >> I am trying to build the Insight 1.0.0 release on a Linux workstation,
>> >> >> where VTK 4.0 has already been installed.
>> >> >>
>> >> >> The ITK package without VTK examples is built successfully. But when
>> >> >> I tryo to add the VTK examples - by setting
>> >> >>
>> >> >> BUILD_EXAMPLES                   ON
>> >> >> USE_VTK                          ON
>> >> >>
>> >> >> in ccmake, the build fails on the file
>> >> >>
>> >> >> InsightToolkit-1.0.0/Examples/vtkITK/Common/vtkITKMutualInformationTransform.cxx
>> >> >>
>> >> >> with many errors. The last of which is
>> >> >> "class vtkITKMutualInformationTransform' has no member named
>> >> >> `Superclass'
>> >> >> /usr/local/erc-share/downloaded-src/itk10/InsightToolkit-1.0.0/Examples/vtkITK/Common/vtkITKMutualInf
>> >> >> ormationTransform.cxx:90:
>> >> >> parse
>> >> >>    error before `::' token"
>> >> >>
>> >> >> I use gmake and g++/gcc for the compilation. The operating system is
>> >> >> "Red Hat Linux release 8.0 (Psyche)". The error occurs only if both the
>> >> >> above flags are ON. cmake and ccmake do not report any problems.
>> >> >>
>> >> >> Please help me find the problems, as I would like to evaluate the use of
>> >> >> VTK and ITK together.
>> >> >>
>> >> >> Thanks,
>> >> >>
>> >> >> Ofri.
>> >> >>
>> >> >> _______________________________________________
>> >> >> Insight-users mailing list
>> >> >> Insight-users@public.kitware.com
>> >> >> http://public.kitware.com/mailman/listinfo/insight-users
>> >> >
>> >> >_______________________________________________
>> >> >Insight-users mailing list
>> >> >Insight-users@public.kitware.com
>> >> >http://public.kitware.com/mailman/listinfo/insight-users
>>
>> _______________________________________________
>> Insight-users mailing list
>> Insight-users@public.kitware.com
>> http://public.kitware.com/mailman/listinfo/insight-users