On Mon, May 18, 2009 at 9:46 AM, Mathieu Malaterre <[email protected]> wrote: > GDCM has been uploaded to debian, and there is already a bug report (*): > > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=529193 > > Linking CXX executable ../../../bin/gdcm2vtk > ../../../bin/libvtkgdcm.so.2.0.10: undefined reference to > `vtkStringArray::GetValue(long long)' > ../../../bin/libvtkgdcm.so.2.0.10: undefined reference to > `vtkDataArrayTemplate<long long>::InsertValue(long long, long long)' > ../../../bin/libvtkgdcm.so.2.0.10: undefined reference to > `vtkDataArrayTemplate<unsigned short>::WritePointer(long long, long > long)' > ../../../bin/libvtkgdcm.so.2.0.10: undefined reference to > `vtkDataArrayTemplate<unsigned char>::WritePointer(long long, long > long)' > ../../../bin/libvtkgdcm.so.2.0.10: undefined reference to > `vtkDataArrayTemplate<long long>::WritePointer(long long, long long)' > ../../../bin/libvtkgdcm.so.2.0.10: undefined reference to > `vtkDataArray::InsertTuple3(long long, double, double, double)' > ../../../bin/libvtkgdcm.so.2.0.10: undefined reference to > `vtkLookupTable::SetNumberOfTableValues(long long)' > collect2: ld returned 1 exit status > make[3]: *** [bin/gdcm2vtk] Error 1 > > The missing symbols are all related to API using vtkIdType which is a > configurable type which can be 32bits or 64bits. So I am assuming that > on i386 system the VTK libraries are providing a > vtkStringArray::GetValue(long) symbol. > > Just in case someone would be on a i386 system could they send me the output > of: > > $ nm -D ./bin/libvtkCommon.so | c++filt | grep vtkStringArray::GetValue
To keep things organized I am following the thread here on debian-med (maybe there is a better place for issue with VTK package). Anyway, there something wrong with the package on i386 for VTK. If I download the binary package : wget http://ftp.fr.debian.org/debian/pool/main/v/vtk/libvtk5_5.2.1-3_i386.deb wget http://ftp.fr.debian.org/debian/pool/main/v/vtk/libvtk5-dev_5.2.1-3_all.deb I get on the one hand: $ grep USE_64 ./usr/include/vtk-5.2/vtkConfigure.h #define VTK_USE_64BIT_IDS $ grep USE_64 usr/lib/vtk-5.2/VTKConfig.cmake SET(VTK_USE_64BIT_IDS "ON") Ok so far so good, VTK was configured with 64 bits ON (thus vtkIdType will be 'long long'). BUT on the other hand: $ nm -D ./usr/lib/libvtkCommon.so.5.2.1 | c++filt | grep StringArray::GetVa 001ad8c0 T vtkStringArray::GetValue(int) I have never seen that before, I do not even understand how this is possible. Are the header files generated on a machine different than the binaries files ? Thanks, -- Mathieu -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

