MantisBT - VTK
View Issue Details
0011810VTK(No Category)public2011-02-07 10:232013-01-19 11:01
Jens Thomas 
David Gobbi 
normalmajoralways
closedfixed 
WindowsServer 2008 HPC6.0.6001
 
 
0011810: VTK 5.6.1 fails to build against Tcl 8.6.1.1 due to errorline being declared private in the Tcl_Interp structure

The problem is that by default, the members of the Tcl_Interp structure are no longer visible by default in the public header.

As a result errorLine is not accessible, and should instead be accessed using Tcl_GetErrorLine

This issue appears to have already been raised on the developer list:

http://www.vtk.org/pipermail/vtk-developers/2010-June/007993.html [^]

But no bug appears to have been filed and checking the latest source from git, VTK/Common/vtkTclUtil.cxx still uses the errorLine rather then Tcl_GetErrorLine.



No tags attached.
Issue History
2011-02-07 10:23Jens ThomasNew Issue
2011-02-07 10:26David PartykaAssigned To => David Partyka
2011-02-07 10:26David PartykaStatusbacklog => tabled
2011-02-07 10:36David PartykaNote Added: 0025312
2012-05-16 04:07ycolletNote Added: 0028606
2012-05-16 04:44ycolletNote Added: 0028607
2012-12-22 06:19Andrzej GiniewiczNote Added: 0029941
2013-01-19 10:58David GobbiAssigned ToDavid Partyka => David Gobbi
2013-01-19 10:58David GobbiStatusbacklog => tabled
2013-01-19 11:01David GobbiNote Added: 0030198
2013-01-19 11:01David GobbiStatustabled => closed
2013-01-19 11:01David GobbiResolutionopen => fixed

Notes
(0025312)
David Partyka   
2011-02-07 10:36   
We'll keep an eye on tcl 4.6. It is still in beta though.
(0028606)
ycollet   
2012-05-16 04:07   
vtk-5.8.0 has also the problem:

/home/collette/VTK-5.8.0/Common/vtkTclUtil.cxx: In function ‘void vtkTclVoidFunc(void*)’:
/home/collette/VTK-5.8.0/Common/vtkTclUtil.cxx:490:7: erreur: ‘struct Tcl_Interp’ has no member named ‘errorLine’
/home/collette/VTK-5.8.0/Common/vtkTclUtil.cxx:497:7: erreur: ‘struct Tcl_Interp’ has no member named ‘errorLine’
/home/collette/VTK-5.8.0/Common/vtkTclUtil.cxx: In member function ‘virtual void vtkTclCommand::Execute(vtkObject*, long unsigned int, void*)’:
/home/collette/VTK-5.8.0/Common/vtkTclUtil.cxx:723:7: erreur: ‘struct Tcl_Interp’ has no member named ‘errorLine’
/home/collette/VTK-5.8.0/Common/vtkTclUtil.cxx:730:7: erreur: ‘struct Tcl_Interp’ has no member named ‘errorLine’
make[2]: *** [Common/CMakeFiles/vtkCommonTCL.dir/vtkTclUtil.cxx.o] Erreur 1
make[1]: *** [Common/CMakeFiles/vtkCommonTCL.dir/all] Erreur 2


I added:

#define USE_INTERP_RESULT
#define USE_INTERP_ERRORLINE

in the top of Common/vtkTclUtil.h (before the #include ...).

And it compiles fine.
(0028607)
ycollet   
2012-05-16 04:44   
tcl 8.6beta is shipped as the default TCL interpreter in mageia and mandriva.
(0029941)
Andrzej Giniewicz   
2012-12-22 06:19   
Issue also occurs in VTK 5.10.1. TCL 8.6 is now released (20'th Dec 2012), and it becomes default for more distributions.
(0030198)
David Gobbi   
2013-01-19 11:01   
Fixed by commit 792a0602 in master branch on Jan 18, 2013.