View Issue Details

IDProjectCategoryView StatusLast Update
0004268Slicer4Core: Building (CMake, Superbuild)public2017-08-15 11:17
ReportergregsharpAssigned Tojcfr 
PrioritynormalSeverityminorReproducibilityalways
Status assignedResolutionopen 
Platformgcc 6 compile problemsOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0004268: Slicer FTBFS with gcc 6
Description

Ticked to track issues building with gcc 6.

TagsNo tags attached.

Activities

gregsharp

gregsharp

2016-09-30 11:34

developer   ~0014138

/home/gsharp/build/slicer-4/Slicer/Modules/CLI/RobustStatisticsSegmenter/SFLSSegmentor3D.txx:1473:32: error: return-statement with a value, in function returning 'void' [-fpermissive]
return m_zeroLayerHistory[i];

Unclear what is the proper fix. This function does not seem to ever be called.
Maybe the function can be removed.

gregsharp

gregsharp

2016-09-30 11:36

developer   ~0014139

Previously reported.

http://slicer-devel.65872.n3.nabble.com/Compile-error-td4037203.html

This can be resolved by changing line 40 in itkDiffusionTensor3DExtended.h
from

itkTypeMacro(DiffusionTensor3DExtended, DiffusionTensor3D);

->

itkTypeMacroNoParent(DiffusionTensor3DExtended);

gregsharp

gregsharp

2016-09-30 20:30

developer   ~0014140

Several errors related to this:

/home/gsharp/build/slicer-4/Slicer-build/ITKv4-build/Modules/Core/Common/itkConfigure.h:53:4: warning: #warning "WARNING: The current project is configured to use a C++ standard version older than the C++ standard used for this build of ITK" [-Wcpp]

For example:

/home/gsharp/build/slicer-4/Slicer-build/ITKv4/Modules/Core/Common/include/itkSmartPointer.h:178:19: error: expected ‘;’ at end of member declaration
void UnRegister() ITK_SP_NOEXCEPT
^
TBD

gregsharp

gregsharp

2017-03-15 15:18

developer   ~0014374

ITK errors are resolved. However JsonCpp does not build.

/home/gsharp/build/slicer-4/Slicer-build/JsonCpp/src/lib_json/json_reader.cpp:47:14: error: ‘scoped_ptr’ in namespace ‘std’ does not name a template type
typedef std::scoped_ptr<CharReader> const CharReaderPtr;
^~~~~~
/home/gsharp/build/slicer-4/Slicer-build/JsonCpp/src/lib_json/json_reader.cpp: In function ‘bool Json::parseFromStream(const Json::CharReader::Factory&, std::istream&, Json::Value, std::__cxx11::string)’:
/home/gsharp/build/slicer-4/Slicer-build/JsonCpp/src/lib_json/json_reader.cpp:1820:3: error: ‘CharReaderPtr’ was not declared in this scope
CharReaderPtr const reader(fact.newCharReader());
^~~~~
/home/gsharp/build/slicer-4/Slicer-build/JsonCpp/src/lib_json/json_reader.cpp:1821:10: error: ‘reader’ was not declared in this scope
return reader->parse(begin, end, root, errs);
^~
/home/gsharp/build/slicer-4/Slicer-build/JsonCpp/src/lib_json/json_reader.cpp:1811:32: warning: unused parameter ‘fact’ [-Wunused-parameter]
CharReader::Factory const& fact, std::istream& sin,
^~~~

jcfr

jcfr

2017-03-16 23:03

administrator   ~0014375

JsonCpp patch integrated in http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=25843

gregsharp

gregsharp

2017-03-18 19:32

developer   ~0014377

Next error is in ITK. ITK includes c++11 header file even though -std=c++11 is not specified on build line.

In file included from /usr/include/c++/6/type_traits:35:0,
from /home/gsharp/build/slicer-4/Slicer-build/ITKv4/Modules/Core/Common/include/itkImageAlgorithm.h:24,
from /home/gsharp/build/slicer-4/Slicer-build/ITKv4/Modules/Filtering/ImageFilterBase/include/itkCastImageFilter.hxx:23,
from /home/gsharp/build/slicer-4/Slicer-build/ITKv4/Modules/Filtering/ImageFilterBase/includ-std=c++11e/itkCastImageFilter.h:149,
from /home/gsharp/build/slicer-4/Slicer-build/BRAINSTools/BRAINSCommonLib/GenericTransformImage.h:26,
from /home/gsharp/build/slicer-4/Slicer-build/BRAINSTools/BRAINSCommonLib/GenericTransformImage.cxx:20:
/usr/include/c++/6/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support \
^~~~~

gregsharp

gregsharp

2017-03-18 21:21

developer   ~0014378

Clarification. BRAINS explicitly adds -std=gnu++98 option, which exposes this bug in ITK. The problem could be fixed in either BRAINS or ITK.

gregsharp

gregsharp

2017-08-06 18:46

developer   ~0015028

Any update? gcc 6 is the default compiler for debian stretch (current stable release).

pieper

pieper

2017-08-15 11:17

administrator   ~0015050

This works for Qt5 which requires c++11 for vtk8. All of Slicer including BRAINSFit compiles for me on on gcc6 on debian stretch.

Issue History

Date Modified Username Field Change
2016-09-30 11:31 gregsharp New Issue
2016-09-30 11:31 gregsharp Status new => assigned
2016-09-30 11:31 gregsharp Assigned To => jcfr
2016-09-30 11:34 gregsharp Note Added: 0014138
2016-09-30 11:36 gregsharp Note Added: 0014139
2016-09-30 20:30 gregsharp Note Added: 0014140
2017-03-15 15:18 gregsharp Note Added: 0014374
2017-03-16 23:03 jcfr Note Added: 0014375
2017-03-18 19:32 gregsharp Note Added: 0014377
2017-03-18 21:21 gregsharp Note Added: 0014378
2017-08-06 18:46 gregsharp Note Added: 0015028
2017-08-15 11:17 pieper Note Added: 0015050