[vtkusers] Sun's CC, and stlport - Ctsd/Crun issues
Attila Nagy
nagy.attila at yahoo.com
Mon Aug 10 09:48:45 EDT 2009
Hi all,
I'm trying to compile Slicer with Sun's cc/CC on Solaris, and after having a few files fixed (headers added), it sort of works. At least the compilation part, I haven't yet tried to run Slicer compiled this way. (With gcc everything is fine.)
I have discovered however, that VTK (5.2 at least, we use it with Slicer at the moment) explicitly sets the Cstd and Crun libs for the linking process (see in Slicer3-lib/VTK/CMake/vtkDetermineCompilerFlags.cmake), whereas ITK uses the stlport libs. (Slicer3-lib/Insight/CMakeLists.txt)
...and these two - stlport and Cstd - cannot be mixed in one project.
My compilation logs are full of similar warnings:
[...]
ld: warning: symbol `std::codecvt<wchar_t,char,__mbstate_t>::__vtbl' has differing sizes:
(file /opt/SUNWspro/lib/amd64/libCstd.so value=0x60; file /opt/SUNWspro/lib/stlport4/amd64/libstlport.so value=0x50);
/opt/SUNWspro/lib/amd64/libCstd.so definition taken
[...]
Both VTK and ITK have their good reasons to set their linking/compilation flags (vtk uses them for java, itk for c++ stl features), but this way Slicer itself cannot be compiled with Sun's tools.
I tried to comment out the appropriate part in VTK/CMake/vtkDetermineCompilerFlags.cmake, and vtk (5.2) compiles with stlport without even a warning. This might be good news I think. :)
I don't really know if Slicer uses Java, or are there plans for it, so might there be a way for vtk to use stlport, without java?
Is there anyone who could maybe take a look at these issues?
Thank you in advance,
Attila
More information about the vtkusers
mailing list