[Insight-developers] Building ITK on a Linux box
Mathieu Malaterre
malat at free . fr
Mon, 02 Sep 2002 00:22:08 +0200
Hi dear ITK gurus,
I am stuck trying to build ITK on my Linux box: Mandrake Cooker
(06062002). To be more precise I want to try SegmentationEditor.
I tried first with gcc3
$gcc --version
gcc (GCC) 3.1.1 (Mandrake Linux 8.3 3.1.1-0.2mdk)
But I ge this error message:
c++ -rdynamic -shared -g -O2 -ftemplate-depth-50 -o
/home/mmalat/Stage2002/InsightBin3/Lib/libITKIO.so itkWriter.o
itkImageIOBase.o itkImageIOFactory.o itkMetaImageIOFactory.o
itkMetaImageIO.o itkPNGImageIOFactory.o itkPNGImageIO.o
itkVOLImageIOFactory.o itkVOLImageIO.o itkVTKImageIOFactory.o
itkVTKImageIO.o itkDicomImageIOFactory.o itkDicomImageIO.o
-L/home/mmalat/Stage2002/InsightBin3/Lib
-L/home/mmalat/Stage2002/VTKBin3/Lib -L/usr/X11R6/lib -lpthread -ldl
-lpthread -ldl -lm -lGL -lXt -lSM -lICE -L/usr/X11R6/lib -lX11 -lXext
-lm -lITKCommon -litkpng -litkzlib -lMetaIO -lVXLNumerics -lGL -lpthread
-lm -ldl -lXt -lSM -lICE -L/usr/X11R6/lib -lX11 -lXext
-Wl,-rpath,/home/mmalat/Stage2002/InsightBin3/Lib:/home/mmalat/Stage2002/VTKBin3/Lib:/usr/X11R6/lib
itkVTKImageIO.o: In function `std::basic_string<char,
std::char_traits<char>, std::allocator<char> >::assign(char const*,
unsigned)':
/usr/include/g++-v31/bits/basic_string.h:494: multiple definition of
`std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::assign(char const*, unsigned)'
itkPNGImageIO.o:/usr/include/g++-v31/bits/basic_string.h:494: first
defined here
collect2: ld returned 1 exit status
make[1]: *** [/home/mmalat/Stage2002/InsightBin3/Lib/libITKIO.so] Erreur 1
make: *** [default_target] Erreur 2
(I was able to built only: libITKBasicFilters.so
libITKCommon.so
libITKNumerics.so
libitkpng.so
libITKStatistics.so
libitkzlib.so
libMetaIO.so
libVXLNumerics.so)
Then I tried to compile it with gcc2.95.3
And it works fine. I can build ITK against VTK. But when I change
VTKITK_WRAP_TCL = ON
I get this error:
/usr/local/bin/g++ -rdynamic -shared -g -O2 -ftemplate-depth-50 -o
/home/mmalat/Stage2002/InsightBin/Lib/libvtkWSTCommonTCL.so
vtkWSTCommonTCLInit.o vtkBinaryVolumeTcl.o vtkBinaryVolumeLogicTcl.o
vtkBoundingBoxTcl.o vtkPatchedImageReaderTcl.o
vtkPatchedLookupTableTcl.o vtkWSBoundingBoxManagerTcl.o
vtkWSLookupTableManagerTcl.o vtkBinaryVolumeTcl.o
vtkBinaryVolumeLogicTcl.o vtkBoundingBoxTcl.o vtkPatchedImageReaderTcl.o
vtkPatchedLookupTableTcl.o vtkWSBoundingBoxManagerTcl.o
vtkWSLookupTableManagerTcl.o vtkITKWatershedFilterAndWriterTcl.o
-L/home/mmalat/Stage2002/InsightBin/Lib
-L/home/mmalat/Stage2002/VTKBin/Lib
-L/home/mmalat/Stage2002/InsightBin/Examples/Examples/SegmentationEditor/Common
-L/home/mmalat/Stage2002/InsightBin/Examples/Examples/vtkITK/Common
-L/usr/X11R6/lib -lpthread -ldl -lpthread -ldl -lm -lGL -lXt -lSM
-lICE -L/usr/X11R6/lib -lX11 -lXext -lm -lITKAlgorithms -lVXLNumerics
-lITKCommon -lITKBasicFilters -lm -lvtkFilteringTCL -lvtkCommonTCL -ltcl
-lITKNumerics -lITKCommon -lVXLNumerics -lGL -lXt -lSM -lICE
-L/usr/X11R6/lib -lX11 -lXext -lvtkFiltering -lvtkCommon -lpthread -lm
-ldl
-Wl,-rpath,/home/mmalat/Stage2002/InsightBin/Lib:/home/mmalat/Stage2002/VTKBin/Lib:/home/mmalat/Stage2002/InsightBin/Examples/Examples/SegmentationEditor/Common:/home/mmalat/Stage2002/InsightBin/Examples/Examples/vtkITK/Common:/usr/X11R6/lib
vtkBinaryVolumeTcl.o: In function `vtkBinaryVolumeNewCommand(void)':
/home/mmalat/Stage2002/InsightBin/Examples/SegmentationEditor/Common/vtkBinaryVolumeTcl.cxx:10:
multiple definition of `vtkBinaryVolumeNewCommand(void)'
vtkBinaryVolumeTcl.o:/home/mmalat/Stage2002/InsightBin/Examples/SegmentationEditor/Common/vtkBinaryVolumeTcl.cxx:10:
first defined here
vtkBinaryVolumeTcl.o: In function `vtkBinaryVolumeCommand(void *,
Tcl_Interp *, int, char **)':
/home/mmalat/Stage2002/InsightBin/Examples/SegmentationEditor/Common/vtkBinaryVolumeTcl.cxx:22:
multiple definition of `vtkBinaryVolumeCommand(void *, Tcl_Interp *,
int, char **)'
vtkBinaryVolumeTcl.o:/home/mmalat/Stage2002/InsightBin/Examples/SegmentationEditor/Common/vtkBinaryVolumeTcl.cxx:22:
first defined here
vtkBinaryVolumeTcl.o: In function
`vtkBinaryVolumeCppCommand(vtkBinaryVolume *, Tcl_Interp *, int, char **)':
/home/mmalat/Stage2002/InsightBin/Examples/SegmentationEditor/Common/vtkBinaryVolumeTcl.cxx:39:
multiple definition of `vtkBinaryVolumeCppCommand(vtkBinaryVolume *,
Tcl_Interp *, int, char **)'
vtkBinaryVolumeTcl.o:/home/mmalat/Stage2002/InsightBin/Examples/SegmentationEditor/Common/vtkBinaryVolumeTcl.cxx:39:
first defined here
vtkBinaryVolumeLogicTcl.o: In function
`vector<itk::hashtable_node<pair<unsigned long const, unsigned long> >
*, allocator<itk::hashtable_node<pair<unsigned long const, unsigned
long> > *> >::insert(itk::hashtable_node<pair<unsigned long const,
unsigned long> > **, unsigned int, itk::hashtable_node<pair<unsigned
long const, unsigned long> > *const &)':
/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.3/../../../../include/g++-3/stl_algobase.h(.text+0x0):
multiple definition of `vtkBinaryVolumeLogicNewCommand(void)'
vtkBinaryVolumeLogicTcl.o(.text+0x0):/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.3/../../../../include/g++-3/stl_algobase.h:
first defined here
...(I dropped the end of errors messages)
Does someone understand anything ? Please could you tell/advice me what
to do ? Thanks a lot.
Version:
I use cmake version 1.5 (one or two days old)
vtk 4.1.1 (again one or two days old)
and itk 0.0.1 (one or two days old)
mathieu malaterre