Mac extension builds failing with cout error

We noticed SlicerDMRI and other mac builds today. Looks like python extensions are okay but not C++ ones.

Maybe related to the clipboard locale change? @Sam_Horvath @ebrahim ?

DMRI is failing across all platforms and has been since before the locale change

Other C++ builds, such as SlicerIGT are fine

C++ builds begin to fail after: ENH: Add support for building against VTK version 9.6.0 · Slicer/Slicer@1b21266 · GitHub

Thanks @Sam_Horvath !

@jamesobutler do you see why this change would be breaking some extensions? Maybe we can revert until the underlying issue is understood and fixed?

Looking at the errors, many/most are complaining about cout missing from std. Looking at a file that has errors in SlicerDMRI: SlicerDMRI/Libs/vtkDMRI/vtkSeedTracts.cxx at master · SlicerDMRI/SlicerDMRI · GitHub, <iostream> is not included but cout is used, so perhaps a transitive include was cleaned up.

Yes, that makes sense @Sam_Horvath - maybe we should add that include to a core slicer header to fix all the extensions that relied on that at once and avoid the backwards incompatibility.

I am not sure how much of the problem that would actually fix? The vtkSeedTracts one I linked above is a pure vtkObject, it doesn’t include any Slicer headers.

The related items is a simple fix.

See the following comment:

and the following for reference:

1 Like

Thanks James!

Steve, I don’t think we can avoid doing the fixes at the extension level.

Yes, that’s very clear now, thanks!

Odd to make a backwards incompatible change on a minor release, but that’s the way it goes I guess.

I’ll try to fix SlicerDMRI later today.

2 Likes

I’ll get SlicerRT today as well

1 Like

Okay, SlicerDMRI should be good to go tomorrow.

1 Like