Package: mrtrix
Version: 0.2.12-2
Severity: normal
User: debian-...@lists.debian.org
Usertags: ftbfs-gcc-6 gcc-6-overloaded-ambiguous

This package fails to build with GCC 6.  GCC 6 has not been released
yet, but it's expected that GCC 6 will become the default compiler for
stretch.

You can find a snapshot of GCC 6 in experimental.  To build with
GCC 6, you can set CC=gcc-6 CXX=g++-6 explicitly.

You may be able to find out more about this issue at
https://gcc.gnu.org/gcc-6/changes.html

> sbuild (Debian sbuild) 0.68.0 (15 Jan 2016) on dl580gen9-02.hlinux
...
> ERROR: [CC] cmd/tracks2prob.o
> 
> g++ -c -Wall -pedantic -fPIC -fno-strict-aliasing -DGL_GLEXT_PROTOTYPES 
> -DUSE_TR1 -g -std=c++11 -pthread -I/usr/include/glibmm-2.4 
> -I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include -I/usr/include/sigc++-2.0 
> -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -I/usr/include/glib-2.0 
> -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Ilib -Isrc cmd/tracks2prob.cpp 
> -o cmd/tracks2prob.o
> 
> failed with output:
> 
> In file included from src/dwi/tractography/roi.h:28:0,
>                  from src/dwi/tractography/properties.h:27,
>                  from src/dwi/tractography/file.h:30,
>                  from cmd/tracks2prob.cpp:43:
> lib/image/interp.h: In member function 'float MR::Image::Interp::re() const':
> lib/image/interp.h:238:46: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (faaa) val  = faaa * image.re (os); os += stride[2];
>                                               ^~
> lib/image/interp.h:238:7: note: ...this 'if' clause, but it is not
>        if (faaa) val  = faaa * image.re (os); os += stride[2];
>        ^~
> lib/image/interp.h:239:46: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (faab) val += faab * image.re (os); os += stride[1];
>                                               ^~
> lib/image/interp.h:239:7: note: ...this 'if' clause, but it is not
>        if (faab) val += faab * image.re (os); os += stride[1];
>        ^~
> lib/image/interp.h:240:46: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (fabb) val += fabb * image.re (os); os -= stride[2];
>                                               ^~
> lib/image/interp.h:240:7: note: ...this 'if' clause, but it is not
>        if (fabb) val += fabb * image.re (os); os -= stride[2];
>        ^~
> lib/image/interp.h:241:46: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (faba) val += faba * image.re (os); os += stride[0];
>                                               ^~
> lib/image/interp.h:241:7: note: ...this 'if' clause, but it is not
>        if (faba) val += faba * image.re (os); os += stride[0];
>        ^~
> lib/image/interp.h:242:46: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (fbba) val += fbba * image.re (os); os -= stride[1];
>                                               ^~
> lib/image/interp.h:242:7: note: ...this 'if' clause, but it is not
>        if (fbba) val += fbba * image.re (os); os -= stride[1];
>        ^~
> lib/image/interp.h:243:46: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (fbaa) val += fbaa * image.re (os); os += stride[2];
>                                               ^~
> lib/image/interp.h:243:7: note: ...this 'if' clause, but it is not
>        if (fbaa) val += fbaa * image.re (os); os += stride[2];
>        ^~
> lib/image/interp.h:244:46: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (fbab) val += fbab * image.re (os); os += stride[1];
>                                               ^~
> lib/image/interp.h:244:7: note: ...this 'if' clause, but it is not
>        if (fbab) val += fbab * image.re (os); os += stride[1];
>        ^~
> lib/image/interp.h: In member function 'float MR::Image::Interp::im() const':
> lib/image/interp.h:258:46: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (faaa) val  = faaa * image.im (os); os += stride[2];
>                                               ^~
> lib/image/interp.h:258:7: note: ...this 'if' clause, but it is not
>        if (faaa) val  = faaa * image.im (os); os += stride[2];
>        ^~
> lib/image/interp.h:259:46: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (faab) val += faab * image.im (os); os += stride[1];
>                                               ^~
> lib/image/interp.h:259:7: note: ...this 'if' clause, but it is not
>        if (faab) val += faab * image.im (os); os += stride[1];
>        ^~
> lib/image/interp.h:260:46: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (fabb) val += fabb * image.im (os); os -= stride[2];
>                                               ^~
> lib/image/interp.h:260:7: note: ...this 'if' clause, but it is not
>        if (fabb) val += fabb * image.im (os); os -= stride[2];
>        ^~
> lib/image/interp.h:261:46: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (faba) val += faba * image.im (os); os += stride[0];
>                                               ^~
> lib/image/interp.h:261:7: note: ...this 'if' clause, but it is not
>        if (faba) val += faba * image.im (os); os += stride[0];
>        ^~
> lib/image/interp.h:262:46: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (fbba) val += fbba * image.im (os); os -= stride[1];
>                                               ^~
> lib/image/interp.h:262:7: note: ...this 'if' clause, but it is not
>        if (fbba) val += fbba * image.im (os); os -= stride[1];
>        ^~
> lib/image/interp.h:263:46: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (fbaa) val += fbaa * image.im (os); os += stride[2];
>                                               ^~
> lib/image/interp.h:263:7: note: ...this 'if' clause, but it is not
>        if (fbaa) val += fbaa * image.im (os); os += stride[2];
>        ^~
> lib/image/interp.h:264:46: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (fbab) val += fbab * image.im (os); os += stride[1];
>                                               ^~
> lib/image/interp.h:264:7: note: ...this 'if' clause, but it is not
>        if (fbab) val += fbab * image.im (os); os += stride[1];
>        ^~
> lib/image/interp.h: In member function 'float MR::Image::Interp::re_abs() 
> const':
> lib/image/interp.h:277:53: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (faaa) val  = faaa * fabs (image.re (os)); os += stride[2];
>                                                      ^~
> lib/image/interp.h:277:7: note: ...this 'if' clause, but it is not
>        if (faaa) val  = faaa * fabs (image.re (os)); os += stride[2];
>        ^~
> lib/image/interp.h:278:53: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (faab) val += faab * fabs (image.re (os)); os += stride[1];
>                                                      ^~
> lib/image/interp.h:278:7: note: ...this 'if' clause, but it is not
>        if (faab) val += faab * fabs (image.re (os)); os += stride[1];
>        ^~
> lib/image/interp.h:279:53: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (fabb) val += fabb * fabs (image.re (os)); os -= stride[2];
>                                                      ^~
> lib/image/interp.h:279:7: note: ...this 'if' clause, but it is not
>        if (fabb) val += fabb * fabs (image.re (os)); os -= stride[2];
>        ^~
> lib/image/interp.h:280:53: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (faba) val += faba * fabs (image.re (os)); os += stride[0];
>                                                      ^~
> lib/image/interp.h:280:7: note: ...this 'if' clause, but it is not
>        if (faba) val += faba * fabs (image.re (os)); os += stride[0];
>        ^~
> lib/image/interp.h:281:53: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (fbba) val += fbba * fabs (image.re (os)); os -= stride[1];
>                                                      ^~
> lib/image/interp.h:281:7: note: ...this 'if' clause, but it is not
>        if (fbba) val += fbba * fabs (image.re (os)); os -= stride[1];
>        ^~
> lib/image/interp.h:282:53: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (fbaa) val += fbaa * fabs (image.re (os)); os += stride[2];
>                                                      ^~
> lib/image/interp.h:282:7: note: ...this 'if' clause, but it is not
>        if (fbaa) val += fbaa * fabs (image.re (os)); os += stride[2];
>        ^~
> lib/image/interp.h:283:53: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (fbab) val += fbab * fabs (image.re (os)); os += stride[1];
>                                                      ^~
> lib/image/interp.h:283:7: note: ...this 'if' clause, but it is not
>        if (fbab) val += fbab * fabs (image.re (os)); os += stride[1];
>        ^~
> lib/image/interp.h: In member function 'float MR::Image::Interp::im_abs() 
> const':
> lib/image/interp.h:297:53: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (faaa) val  = faaa * fabs (image.im (os)); os += stride[2];
>                                                      ^~
> lib/image/interp.h:297:7: note: ...this 'if' clause, but it is not
>        if (faaa) val  = faaa * fabs (image.im (os)); os += stride[2];
>        ^~
> lib/image/interp.h:298:53: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (faab) val += faab * fabs (image.im (os)); os += stride[1];
>                                                      ^~
> lib/image/interp.h:298:7: note: ...this 'if' clause, but it is not
>        if (faab) val += faab * fabs (image.im (os)); os += stride[1];
>        ^~
> lib/image/interp.h:299:53: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (fabb) val += fabb * fabs (image.im (os)); os -= stride[2];
>                                                      ^~
> lib/image/interp.h:299:7: note: ...this 'if' clause, but it is not
>        if (fabb) val += fabb * fabs (image.im (os)); os -= stride[2];
>        ^~
> lib/image/interp.h:300:53: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (faba) val += faba * fabs (image.im (os)); os += stride[0];
>                                                      ^~
> lib/image/interp.h:300:7: note: ...this 'if' clause, but it is not
>        if (faba) val += faba * fabs (image.im (os)); os += stride[0];
>        ^~
> lib/image/interp.h:301:53: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (fbba) val += fbba * fabs (image.im (os)); os -= stride[1];
>                                                      ^~
> lib/image/interp.h:301:7: note: ...this 'if' clause, but it is not
>        if (fbba) val += fbba * fabs (image.im (os)); os -= stride[1];
>        ^~
> lib/image/interp.h:302:53: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (fbaa) val += fbaa * fabs (image.im (os)); os += stride[2];
>                                                      ^~
> lib/image/interp.h:302:7: note: ...this 'if' clause, but it is not
>        if (fbaa) val += fbaa * fabs (image.im (os)); os += stride[2];
>        ^~
> lib/image/interp.h:303:53: warning: statement is indented as if it were 
> guarded by... [-Wmisleading-indentation]
>        if (fbab) val += fbab * fabs (image.im (os)); os += stride[1];
>                                                      ^~
> lib/image/interp.h:303:7: note: ...this 'if' clause, but it is not
>        if (fbab) val += fbab * fabs (image.im (os)); os += stride[1];
>        ^~
> cmd/tracks2prob.cpp: In constructor 'Voxel::Voxel(const MR::Point&)':
> cmd/tracks2prob.cpp:130:21: error: call of overloaded 'round(const float&)' 
> is ambiguous
>        x (round (p[0])),
>                      ^
> In file included from /usr/include/features.h:361:0,
>                  from /usr/include/limits.h:25,
>                  from 
> /usr/lib/gcc/x86_64-linux-gnu/6/include-fixed/limits.h:168,
>                  from 
> /usr/lib/gcc/x86_64-linux-gnu/6/include-fixed/syslimits.h:7,
>                  from 
> /usr/lib/gcc/x86_64-linux-gnu/6/include-fixed/limits.h:34,
>                  from lib/mrtrix.h:51,
>                  from lib/ptr.h:26,
>                  from lib/args.h:26,
>                  from lib/app.h:30,
>                  from cmd/tracks2prob.cpp:41:
> /usr/include/x86_64-linux-gnu/bits/mathcalls.h:309:1: note: candidate: double 
> round(double)
>  __MATHCALLX (round,, (_Mdouble_ __x), (__const__));
>  ^
> In file included from lib/mrtrix.h:63:0,
>                  from lib/ptr.h:26,
>                  from lib/args.h:26,
>                  from lib/app.h:30,
>                  from cmd/tracks2prob.cpp:41:
> /usr/include/c++/6/cmath:1712:3: note: candidate: constexpr long double 
> std::round(long double)
>    round(long double __x)
>    ^~~~~
> /usr/include/c++/6/cmath:1708:3: note: candidate: constexpr float 
> std::round(float)
>    round(float __x)
>    ^~~~~
> In file included from lib/ptr.h:26:0,
>                  from lib/args.h:26,
>                  from lib/app.h:30,
>                  from cmd/tracks2prob.cpp:41:
> lib/mrtrix.h:383:14: note: candidate: int MR::round(float)
>    inline int round (float x) { return (int (x + (x > 0.0 ? 0.5 : -0.5))); }
>               ^~~~~
> cmd/tracks2prob.cpp:131:21: error: call of overloaded 'round(const float&)' 
> is ambiguous
>        y (round (p[1])),
>                      ^
> In file included from /usr/include/features.h:361:0,
>                  from /usr/include/limits.h:25,
>                  from 
> /usr/lib/gcc/x86_64-linux-gnu/6/include-fixed/limits.h:168,
>                  from 
> /usr/lib/gcc/x86_64-linux-gnu/6/include-fixed/syslimits.h:7,
>                  from 
> /usr/lib/gcc/x86_64-linux-gnu/6/include-fixed/limits.h:34,
>                  from lib/mrtrix.h:51,
>                  from lib/ptr.h:26,
>                  from lib/args.h:26,
>                  from lib/app.h:30,
>                  from cmd/tracks2prob.cpp:41:
> /usr/include/x86_64-linux-gnu/bits/mathcalls.h:309:1: note: candidate: double 
> round(double)
>  __MATHCALLX (round,, (_Mdouble_ __x), (__const__));
>  ^
> In file included from lib/mrtrix.h:63:0,
>                  from lib/ptr.h:26,
>                  from lib/args.h:26,
>                  from lib/app.h:30,
>                  from cmd/tracks2prob.cpp:41:
> /usr/include/c++/6/cmath:1712:3: note: candidate: constexpr long double 
> std::round(long double)
>    round(long double __x)
>    ^~~~~
> /usr/include/c++/6/cmath:1708:3: note: candidate: constexpr float 
> std::round(float)
>    round(float __x)
>    ^~~~~
> In file included from lib/ptr.h:26:0,
>                  from lib/args.h:26,
>                  from lib/app.h:30,
>                  from cmd/tracks2prob.cpp:41:
> lib/mrtrix.h:383:14: note: candidate: int MR::round(float)
>    inline int round (float x) { return (int (x + (x > 0.0 ? 0.5 : -0.5))); }
>               ^~~~~
> cmd/tracks2prob.cpp:132:21: error: call of overloaded 'round(const float&)' 
> is ambiguous

-- 
Martin Michlmayr
Linux for HPE Helion, Hewlett Packard Enterprise

Reply via email to