Bug#831159: psurface: FTBFS with GCC 6: NormalProjector.cpp:1337:22: error: 'isnan' was not declared in this scope

Lucas Nussbaum lucas at debian.org
Thu Jul 14 07:21:46 UTC 2016


Source: psurface
Version: 2.0.0-1.1
Severity: serious
Tags: stretch sid
User: debian-qa at lists.debian.org
Usertags: qa-ftbfs-20160713 qa-ftbfs
Justification: FTBFS with GCC 6 on amd64

Hi,

During a rebuild of all packages in sid using the gcc-defaults package
available in experimental to make GCC default to version 6, your package failed
to build on amd64. For more information about GCC 6 and Stretch, see:
- https://wiki.debian.org/GCC6
- https://lists.debian.org/debian-devel-announce/2016/06/msg00007.html

Relevant part (hopefully):
> /bin/bash ./libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I.  -I./include/psurface -DPSURFACE_STANDALONE   -Wdate-time -D_FORTIFY_SOURCE=2 -DNDEBUG  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -c -o libpsurface_la-NormalProjector.lo `test -f 'NormalProjector.cpp' || echo './'`NormalProjector.cpp
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I./include/psurface -DPSURFACE_STANDALONE -Wdate-time -D_FORTIFY_SOURCE=2 -DNDEBUG -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -c NormalProjector.cpp  -fPIC -DPIC -o .libs/libpsurface_la-NormalProjector.o
> NormalProjector.cpp: In instantiation of 'bool psurface::NormalProjector<ctype>::computeInverseNormalProjection(const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, psurface::StaticVector<ctype, 3>&) [with ctype = float]':
> NormalProjector.cpp:1841:34:   required from here
> NormalProjector.cpp:1337:22: error: 'isnan' was not declared in this scope
>              if (isnan(r[1]) || isinf(r[1]))
>                  ~~~~~^~~~~~
> NormalProjector.cpp:1337:22: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:655:5: note:   'std::isnan'
>      isnan(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1337:37: error: 'isinf' was not declared in this scope
>              if (isnan(r[1]) || isinf(r[1]))
>                                 ~~~~~^~~~~~
> NormalProjector.cpp:1337:37: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:630:5: note:   'std::isinf'
>      isinf(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1342:24: error: 'isnan' was not declared in this scope
>              if (!(isnan(r[0]) || isinf(r[0])) && (p2q +r[0]*p02 + r[1]*p12 + r[2]*r[0]*n02+r[2]*r[1]*n12+r[2]*n2).length()<1e-3)
>                    ~~~~~^~~~~~
> NormalProjector.cpp:1342:24: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:655:5: note:   'std::isnan'
>      isnan(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1342:39: error: 'isinf' was not declared in this scope
>              if (!(isnan(r[0]) || isinf(r[0])) && (p2q +r[0]*p02 + r[1]*p12 + r[2]*r[0]*n02+r[2]*r[1]*n12+r[2]*n2).length()<1e-3)
>                                   ~~~~~^~~~~~
> NormalProjector.cpp:1342:39: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:630:5: note:   'std::isinf'
>      isinf(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1348:24: error: 'isnan' was not declared in this scope
>              if (!(isnan(r[0]) || isinf(r[0])) && (p2q + r[0]*p02 + r[1]*p12 + r[2]*r[0]*n02+r[2]*r[1]*n12+r[2]*n2).length()<1e-3)
>                    ~~~~~^~~~~~
> NormalProjector.cpp:1348:24: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:655:5: note:   'std::isnan'
>      isnan(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1348:39: error: 'isinf' was not declared in this scope
>              if (!(isnan(r[0]) || isinf(r[0])) && (p2q + r[0]*p02 + r[1]*p12 + r[2]*r[0]*n02+r[2]*r[1]*n12+r[2]*n2).length()<1e-3)
>                                   ~~~~~^~~~~~
> NormalProjector.cpp:1348:39: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:630:5: note:   'std::isinf'
>      isinf(_Tp __x)
>      ^~~~~
> NormalProjector.cpp: In instantiation of 'bool psurface::NormalProjector<ctype>::edgeIntersectsNormalFan(const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, psurface::StaticVector<ctype, 3>&) [with ctype = float]':
> NormalProjector.cpp:1841:34:   required from here
> NormalProjector.cpp:1484:22: error: 'isnan' was not declared in this scope
>              if (isnan(r[0]) || isinf(r[0]))
>                  ~~~~~^~~~~~
> NormalProjector.cpp:1484:22: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:655:5: note:   'std::isnan'
>      isnan(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1484:37: error: 'isinf' was not declared in this scope
>              if (isnan(r[0]) || isinf(r[0]))
>                                 ~~~~~^~~~~~
> NormalProjector.cpp:1484:37: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:630:5: note:   'std::isinf'
>      isinf(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1490:24: error: 'isnan' was not declared in this scope
>              if (!(isnan(r[1]) || isinf(r[1])) && (p0q0 + r[0]*p10 + r[2]*n0 +r[2]*r[0]*n10 -r[1]*q10).length()<1e-3  )
>                    ~~~~~^~~~~~
> NormalProjector.cpp:1490:24: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:655:5: note:   'std::isnan'
>      isnan(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1490:39: error: 'isinf' was not declared in this scope
>              if (!(isnan(r[1]) || isinf(r[1])) && (p0q0 + r[0]*p10 + r[2]*n0 +r[2]*r[0]*n10 -r[1]*q10).length()<1e-3  )
>                                   ~~~~~^~~~~~
> NormalProjector.cpp:1490:39: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:630:5: note:   'std::isinf'
>      isinf(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1496:24: error: 'isnan' was not declared in this scope
>              if (!(isnan(r[1]) || isinf(r[1])) && (p0q0 + r[0]*p10 + r[2]*n0 + r[2]*r[0]*n10 -r[1]*q10).length()<1e-3)
>                    ~~~~~^~~~~~
> NormalProjector.cpp:1496:24: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:655:5: note:   'std::isnan'
>      isnan(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1496:39: error: 'isinf' was not declared in this scope
>              if (!(isnan(r[1]) || isinf(r[1])) && (p0q0 + r[0]*p10 + r[2]*n0 + r[2]*r[0]*n10 -r[1]*q10).length()<1e-3)
>                                   ~~~~~^~~~~~
> NormalProjector.cpp:1496:39: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:630:5: note:   'std::isinf'
>      isinf(_Tp __x)
>      ^~~~~
> NormalProjector.cpp: In instantiation of 'bool psurface::NormalProjector<ctype>::computeInverseNormalProjection(const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, psurface::StaticVector<ctype, 3>&) [with ctype = double]':
> NormalProjector.cpp:1842:34:   required from here
> NormalProjector.cpp:1337:22: error: 'isnan' was not declared in this scope
>              if (isnan(r[1]) || isinf(r[1]))
>                  ~~~~~^~~~~~
> NormalProjector.cpp:1337:22: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:655:5: note:   'std::isnan'
>      isnan(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1337:37: error: 'isinf' was not declared in this scope
>              if (isnan(r[1]) || isinf(r[1]))
>                                 ~~~~~^~~~~~
> NormalProjector.cpp:1337:37: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:630:5: note:   'std::isinf'
>      isinf(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1342:24: error: 'isnan' was not declared in this scope
>              if (!(isnan(r[0]) || isinf(r[0])) && (p2q +r[0]*p02 + r[1]*p12 + r[2]*r[0]*n02+r[2]*r[1]*n12+r[2]*n2).length()<1e-3)
>                    ~~~~~^~~~~~
> NormalProjector.cpp:1342:24: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:655:5: note:   'std::isnan'
>      isnan(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1342:39: error: 'isinf' was not declared in this scope
>              if (!(isnan(r[0]) || isinf(r[0])) && (p2q +r[0]*p02 + r[1]*p12 + r[2]*r[0]*n02+r[2]*r[1]*n12+r[2]*n2).length()<1e-3)
>                                   ~~~~~^~~~~~
> NormalProjector.cpp:1342:39: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:630:5: note:   'std::isinf'
>      isinf(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1348:24: error: 'isnan' was not declared in this scope
>              if (!(isnan(r[0]) || isinf(r[0])) && (p2q + r[0]*p02 + r[1]*p12 + r[2]*r[0]*n02+r[2]*r[1]*n12+r[2]*n2).length()<1e-3)
>                    ~~~~~^~~~~~
> NormalProjector.cpp:1348:24: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:655:5: note:   'std::isnan'
>      isnan(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1348:39: error: 'isinf' was not declared in this scope
>              if (!(isnan(r[0]) || isinf(r[0])) && (p2q + r[0]*p02 + r[1]*p12 + r[2]*r[0]*n02+r[2]*r[1]*n12+r[2]*n2).length()<1e-3)
>                                   ~~~~~^~~~~~
> NormalProjector.cpp:1348:39: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:630:5: note:   'std::isinf'
>      isinf(_Tp __x)
>      ^~~~~
> NormalProjector.cpp: In instantiation of 'bool psurface::NormalProjector<ctype>::edgeIntersectsNormalFan(const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, const psurface::StaticVector<ctype, 3>&, psurface::StaticVector<ctype, 3>&) [with ctype = double]':
> NormalProjector.cpp:1842:34:   required from here
> NormalProjector.cpp:1484:22: error: 'isnan' was not declared in this scope
>              if (isnan(r[0]) || isinf(r[0]))
>                  ~~~~~^~~~~~
> NormalProjector.cpp:1484:22: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:655:5: note:   'std::isnan'
>      isnan(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1484:37: error: 'isinf' was not declared in this scope
>              if (isnan(r[0]) || isinf(r[0]))
>                                 ~~~~~^~~~~~
> NormalProjector.cpp:1484:37: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:630:5: note:   'std::isinf'
>      isinf(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1490:24: error: 'isnan' was not declared in this scope
>              if (!(isnan(r[1]) || isinf(r[1])) && (p0q0 + r[0]*p10 + r[2]*n0 +r[2]*r[0]*n10 -r[1]*q10).length()<1e-3  )
>                    ~~~~~^~~~~~
> NormalProjector.cpp:1490:24: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:655:5: note:   'std::isnan'
>      isnan(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1490:39: error: 'isinf' was not declared in this scope
>              if (!(isnan(r[1]) || isinf(r[1])) && (p0q0 + r[0]*p10 + r[2]*n0 +r[2]*r[0]*n10 -r[1]*q10).length()<1e-3  )
>                                   ~~~~~^~~~~~
> NormalProjector.cpp:1490:39: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:630:5: note:   'std::isinf'
>      isinf(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1496:24: error: 'isnan' was not declared in this scope
>              if (!(isnan(r[1]) || isinf(r[1])) && (p0q0 + r[0]*p10 + r[2]*n0 + r[2]*r[0]*n10 -r[1]*q10).length()<1e-3)
>                    ~~~~~^~~~~~
> NormalProjector.cpp:1496:24: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:655:5: note:   'std::isnan'
>      isnan(_Tp __x)
>      ^~~~~
> NormalProjector.cpp:1496:39: error: 'isinf' was not declared in this scope
>              if (!(isnan(r[1]) || isinf(r[1])) && (p0q0 + r[0]*p10 + r[2]*n0 + r[2]*r[0]*n10 -r[1]*q10).length()<1e-3)
>                                   ~~~~~^~~~~~
> NormalProjector.cpp:1496:39: note: suggested alternative:
> In file included from StaticVector.h:22:0,
>                  from NormalProjector.h:4,
>                  from NormalProjector.cpp:4:
> /usr/include/c++/6/cmath:630:5: note:   'std::isinf'
>      isinf(_Tp __x)
>      ^~~~~
> make[3]: *** [libpsurface_la-NormalProjector.lo] Error 1

The full build log is available from:
   http://people.debian.org/~lucas/logs/2016/07/13/psurface_2.0.0-1.1_unstable_gcc6.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.



More information about the debian-science-maintainers mailing list