[Debian-med-packaging] Bug#572131: Bug#572131: libinsighttoolkit3-dev: built against tcl8.4 but vtk is against 8.5
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
>> 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
> 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
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.
More information about the Debian-med-packaging