View Issue Details

IDProjectCategoryView StatusLast Update
0003766Slicer4Core: Building (CMake, Superbuild)public2017-06-10 08:51
Reporterlorensen Assigned Tojcfr  
PriorityurgentSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product VersionSlicer 4.3.1-2 
Target VersionSlicer 4.4.0Fixed in VersionSlicer 4.4.0 
Summary0003766: Filename conflicts with vtkNRRDReader and vtkNrrdReader
Description

Slicer has a class vtkNRRDReader in Libs/vtkTeem. VTKv4 has a class vtkNrrdreader in VTK/IO/Image. On case insensitive file systems (e.g. Windows and some Macs), the statement
#include "vtkNRRDReader.h" will actually include the file vtkNrrdReader (from VTKv6). The compiler will report the error: error: ‘vtkNRRDReader’ was not declared in this scope.

CLI's that explicitly include vtkNRRDReader will have these errors. Prior to check-in:
https://github.com/Slicer/Slicer/commit/f0f0df61038b9591e895ccb4a40256167e5366d3
a cmake statement:
include_directories(BEFORE ${vtkTeem_INCLUDE_DIRS})
insured that the Slicer vtkNRRDReader would be found.

Additional Information

A proposed fix is to restore the
include_directories(BEFORE ${vtkTeem_INCLUDE_DIRS})
with a more descriptive comment to prevent its removal in the future.

TagsNo tags attached.

Activities

lorensen

lorensen

2014-07-08 07:25

developer   ~0012152

Pushed to https://github.com/lorensen/Slicer/tree/3766-NRRDReader_filename_confusion

jcfr

jcfr

2014-07-28 05:26

administrator   ~0012254

Fixed in r23425
See http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=23425

jcfr

jcfr

2014-07-28 05:27

administrator   ~0012255

@Bill: Thanks for your help on this.

Related Changesets

Import 2017-06-07 23:51:09: master 83d1f998

2014-07-09 04:17:39

jcfr

Details Diff
BUG: vtkNRRDReader filename ambiguity. Fixes 0003766

Slicer has a class vtkNRRDReader in Libs/vtkTeem. VTKv4 has a class
vtkNrrdreader in VTK/IO/Image. On case insensitive file systems
(e.g. Windows and some Macs), the statement #include "vtkNRRDReader.h"
will actually include the file vtkNrrdReader (from VTKv6). The
compiler will report the error: error: ‘vtkNRRDReader’ was not
declared in this scope.

CLI's that explicitly include vtkNRRDReader will have these
errors.
Prior to check-in:
https://github.com/Slicer/Slicer/commit/f0f0df61038b9591e895ccb4a40256167e5366d3
a cmake statement:
include_directories(BEFORE ${vtkTeem_INCLUDE_DIRS})
insured that the Slicer vtkNRRDReader would be found.

This patch restores the
include_directories(BEFORE ${vtkTeem_INCLUDE_DIRS})
with a more descriptive comment to prevent its removal in the future.

From: Bill Lorensen <bill.lorensen@gmail.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23425 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Modules/CLI/DWIToDTIEstimation/CMakeLists.txt Diff File
mod - Modules/CLI/DiffusionTensorScalarMeasurements/CMakeLists.txt Diff File
mod - Modules/CLI/DiffusionWeightedVolumeMasking/CMakeLists.txt Diff File
mod - Modules/CLI/ProbeVolumeWithModel/CMakeLists.txt Diff File

Issue History

Date Modified Username Field Change
2014-07-08 07:09 lorensen New Issue
2014-07-08 07:09 lorensen Status new => assigned
2014-07-08 07:09 lorensen Assigned To => jcfr
2014-07-08 07:25 lorensen Note Added: 0012152
2014-07-28 05:26 jcfr Note Added: 0012254
2014-07-28 05:26 jcfr Status assigned => resolved
2014-07-28 05:26 jcfr Fixed in Version => Slicer 4.4.0
2014-07-28 05:26 jcfr Resolution open => fixed
2014-07-28 05:26 jcfr Status resolved => closed
2014-07-28 05:27 jcfr Target Version => Slicer 4.4.0
2014-07-28 05:27 jcfr Note Added: 0012255
2017-06-10 08:51 jcfr Changeset attached => Slicer master 83d1f998