View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003233VTK(No Category)public2006-05-15 12:002006-06-07 11:21
Reporterglehmann 
Assigned To 
PriorityurgentSeveritymajorReproducibilityalways
StatusclosedResolutionopen 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0003233: VTK_WRAP_TCL fails on Darwin-Intel
DescriptionMac OS 10.4.6
VTK cvs
gcc 4.0

vtkTkRenderWidget.cxx fails with the following error:

/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:245:error: declaration does not declare anything
TagsNo tags attached.
Project
Type
Attached Files

 Relationships

  Notes
(0004087)
glehmann (reporter)
2006-05-15 12:04

One of the CoreCarbon Framework headers, MachineExceptions.h, contains a struct FPUInformationIntel with a member called Status (line 245). There is an exising #define Status (not sure where that comes from yet) that causes the compiler error.

In vtkTkInternals.h.in I've added the following code inside #ifdef VTK_USE_CARBON:

#if defined(i386)
#undef Status
#endif

This fixes the compiler error but causes most of the ctests to fail. I'll see if I can figure out where #define Status comes from and figure out a proper fix for this.
(0004088)
glehmann (reporter)
2006-05-16 08:21

The dashboard tests are failing because the executable bin/vtk is seg. faulting as soon as it's fired up. I think it can't find init.tcl ...
(0004089)
glehmann (reporter)
2006-05-16 09:12

libvtkCommonTCL.dylib was linked against /Library/Frameworks/Tcl.framework/Versions/8.5/Tcl, which does not exists unless a thrid-part Tcl is installed. This happened when the default TCL_LIBRARY:FILE was set to:

/System/Library/Frameworks/Tcl.framework

changing it to:

/System/Library/Frameworks/Tcl.framework/Tcl

fixes the linking error and the ctests are passing.
(0004153)
glehmann (reporter)
2006-05-31 08:52

The conflicting define is here:

tk8.4.13/xlib/X11/Xlib.h, line 69, as:

#if defined(MAC_TCL) || defined(MAC_OSX_TK)
/* Use define rather than typedef, since may need to undefine this later */
#define Status int
#else
typedef int Status;
#endif

So, it looks like undef-ing Status in vtkTkRenderWidget.cxx is the best way to handle this conflict.
(0004172)
glehmann (reporter)
2006-06-07 11:21

The fix has been comitted to VTK and VTK-5-0.

 Issue History
Date Modified Username Field Change
2011-06-16 13:11 Zack Galbreath Category => (No Category)


Copyright © 2000 - 2018 MantisBT Team