[Debian-med-packaging] Bug#572131: Bug#572131: libinsighttoolkit3-dev: built against tcl8.4 but vtk is against 8.5

Michal Suchanek michal.suchanek at ruk.cuni.cz
Sat Mar 6 22:30:45 UTC 2010


Mathieu Malaterre wrote:
> On Mon, Mar 1, 2010 at 7:49 PM, Michal Suchanek <hramrach at centrum.cz>
> <michal.suchanek at ruk.cuni.cz> wrote:
>   
>> Package: libinsighttoolkit3-dev
>> Version: 3.16.0-1j
>> Severity: normal
>>
>>
>> Hello
>>
>> I tried building InsightApplications against the Debian packages
>> libvtk5-dev and libinsighttoolkit3-dev but the build is failing to
>> locate the tcl headers`.
>>
>> After adding CFLAGS I got error that /usr/lib/libtcl8.5.so cannot be
>> built. It looks like tcl 8.5 is used by vtk but 8.4 by vtk which does
>> not fit together well.
>>     
>
> Could you please copy/paste the *exact* compilation error.
> I believe this is due to the fact that CMake does transitive linking.
> If a library Foo links against libtcl8.5.so.0, there are cases where
> cmake will try to link to both -lFoo and -ltcl8.5 when -lFoo only is
> sufficient.
>
> As a simple work-around one need to install the -dev package for tcl8.5
>   
There is one more twist to this issue.

With tcl8.5-dev libvtk5-dev and libinsighttoolkit3-dev it is possible to 
build InsightApplications and the package likely relies on the VTK cmake 
scripts to provide the -I/usr/include/tcl8.5 flag.

However, libinsighttoolkit3-dev then FTBFS. There is some code which by 
the filename seems to use VTK like 
InsightToolkit-3.16.0/Code/IO/itkVTKImageIO.cxx.

The cmake scripts seem to pick the VTK build flags including 
-I/usr/include/tcl8.5 and apply it flat to all of ITK which causes build 
error in the TCL bindings when tcl8.5-dev is installed.

This makes working with both ITK and VTK somewhat difficult.

The issue lies in the upstream libraries which require each a different 
TCL version to build correctly and probably the ITK cmake scripts which 
apply the VTK flags too widely.

Still an ITK TCL wrapper for the VTK formats might fail even if the VTK 
flags are applied only to code actually using VTK and modifying the 
scripts to provide the correct flags  automatically might be non-trivial.

Thanks

Michal








More information about the Debian-med-packaging mailing list