Bug#831094: attal: FTBFS with GCC 6: cmath:568:33: error: 'FP_NAN' was not declared in this scope

Lucas Nussbaum lucas at debian.org
Thu Jul 14 06:47:13 UTC 2016


Source: attal
Version: 1.0~rc2-2
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):
> g++ -c -m64 -pipe -O2 -O2 -Wall -W -D_REENTRANT -fPIC -DATTAL_VERSION=\"1.0-rc2\" -DWITH_SOUND -DATT_THEMES_DIR=\"/usr/share/games/attal/themes/\" -DATT_TRANSL_DIR=\"/usr/share/games/attal/translations/\" -DATT_DOCS_DIR=\"/usr/share/doc/attal/\" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I.. -Imoc -o obj/genericMap.o genericMap.cpp
> In file included from /usr/include/c++/6/math.h:36:0,
>                  from genericMap.cpp:31:
> /usr/include/c++/6/cmath: In function 'constexpr int std::fpclassify(float)':
> /usr/include/c++/6/cmath:568:33: error: 'FP_NAN' was not declared in this scope
>    { return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,
>                                  ^~~~~~
> /usr/include/c++/6/cmath:568:41: error: 'FP_INFINITE' was not declared in this scope
>    { return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,
>                                          ^~~~~~~~~~~
> /usr/include/c++/6/cmath:568:54: error: 'FP_NORMAL' was not declared in this scope
>    { return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,
>                                                       ^~~~~~~~~
> /usr/include/c++/6/cmath:569:5: error: 'FP_SUBNORMAL' was not declared in this scope
>      FP_SUBNORMAL, FP_ZERO, __x); }
>      ^~~~~~~~~~~~
> /usr/include/c++/6/cmath:569:19: error: 'FP_ZERO' was not declared in this scope
>      FP_SUBNORMAL, FP_ZERO, __x); }
>                    ^~~~~~~
> /usr/include/c++/6/cmath: In function 'constexpr int std::fpclassify(double)':
> /usr/include/c++/6/cmath:573:33: error: 'FP_NAN' was not declared in this scope
>    { return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,
>                                  ^~~~~~
> /usr/include/c++/6/cmath:573:41: error: 'FP_INFINITE' was not declared in this scope
>    { return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,
>                                          ^~~~~~~~~~~
> /usr/include/c++/6/cmath:573:54: error: 'FP_NORMAL' was not declared in this scope
>    { return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,
>                                                       ^~~~~~~~~
> /usr/include/c++/6/cmath:574:5: error: 'FP_SUBNORMAL' was not declared in this scope
>      FP_SUBNORMAL, FP_ZERO, __x); }
>      ^~~~~~~~~~~~
> /usr/include/c++/6/cmath:574:19: error: 'FP_ZERO' was not declared in this scope
>      FP_SUBNORMAL, FP_ZERO, __x); }
>                    ^~~~~~~
> /usr/include/c++/6/cmath: In function 'constexpr int std::fpclassify(long double)':
> /usr/include/c++/6/cmath:578:33: error: 'FP_NAN' was not declared in this scope
>    { return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,
>                                  ^~~~~~
> /usr/include/c++/6/cmath:578:41: error: 'FP_INFINITE' was not declared in this scope
>    { return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,
>                                          ^~~~~~~~~~~
> /usr/include/c++/6/cmath:578:54: error: 'FP_NORMAL' was not declared in this scope
>    { return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,
>                                                       ^~~~~~~~~
> /usr/include/c++/6/cmath:579:5: error: 'FP_SUBNORMAL' was not declared in this scope
>      FP_SUBNORMAL, FP_ZERO, __x); }
>      ^~~~~~~~~~~~
> /usr/include/c++/6/cmath:579:19: error: 'FP_ZERO' was not declared in this scope
>      FP_SUBNORMAL, FP_ZERO, __x); }
>                    ^~~~~~~
> /usr/include/c++/6/cmath: In function 'constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, int>::__type std::fpclassify(_Tp)':
> /usr/include/c++/6/cmath:586:25: error: 'FP_NORMAL' was not declared in this scope
>      { return __x != 0 ? FP_NORMAL : FP_ZERO; }
>                          ^~~~~~~~~
> /usr/include/c++/6/cmath:586:37: error: 'FP_ZERO' was not declared in this scope
>      { return __x != 0 ? FP_NORMAL : FP_ZERO; }
>                                      ^~~~~~~
> /usr/include/c++/6/cmath: At global scope:
> /usr/include/c++/6/cmath:1077:11: error: '::double_t' has not been declared
>    using ::double_t;
>            ^~~~~~~~
> /usr/include/c++/6/cmath:1078:11: error: '::float_t' has not been declared
>    using ::float_t;
>            ^~~~~~~
> /usr/include/c++/6/cmath:1082:11: error: '::acoshf' has not been declared
>    using ::acoshf;
>            ^~~~~~
> /usr/include/c++/6/cmath:1083:11: error: '::acoshl' has not been declared
>    using ::acoshl;
>            ^~~~~~
> /usr/include/c++/6/cmath:1086:11: error: '::asinhf' has not been declared
>    using ::asinhf;
>            ^~~~~~
> /usr/include/c++/6/cmath:1087:11: error: '::asinhl' has not been declared
>    using ::asinhl;
>            ^~~~~~
> /usr/include/c++/6/cmath:1090:11: error: '::atanhf' has not been declared
>    using ::atanhf;
>            ^~~~~~
> /usr/include/c++/6/cmath:1091:11: error: '::atanhl' has not been declared
>    using ::atanhl;
>            ^~~~~~
> /usr/include/c++/6/cmath:1094:11: error: '::cbrtf' has not been declared
>    using ::cbrtf;
>            ^~~~~
> /usr/include/c++/6/cmath:1095:11: error: '::cbrtl' has not been declared
>    using ::cbrtl;
>            ^~~~~
> /usr/include/c++/6/cmath:1097:11: error: '::copysign' has not been declared
>    using ::copysign;
>            ^~~~~~~~
> /usr/include/c++/6/cmath:1098:11: error: '::copysignf' has not been declared
>    using ::copysignf;
>            ^~~~~~~~~
> /usr/include/c++/6/cmath:1099:11: error: '::copysignl' has not been declared
>    using ::copysignl;
>            ^~~~~~~~~
> /usr/include/c++/6/cmath:1102:11: error: '::erff' has not been declared
>    using ::erff;
>            ^~~~
> /usr/include/c++/6/cmath:1103:11: error: '::erfl' has not been declared
>    using ::erfl;
>            ^~~~
> /usr/include/c++/6/cmath:1106:11: error: '::erfcf' has not been declared
>    using ::erfcf;
>            ^~~~~
> /usr/include/c++/6/cmath:1107:11: error: '::erfcl' has not been declared
>    using ::erfcl;
>            ^~~~~
> /usr/include/c++/6/cmath:1109:11: error: '::exp2' has not been declared
>    using ::exp2;
>            ^~~~
> /usr/include/c++/6/cmath:1110:11: error: '::exp2f' has not been declared
>    using ::exp2f;
>            ^~~~~
> /usr/include/c++/6/cmath:1111:11: error: '::exp2l' has not been declared
>    using ::exp2l;
>            ^~~~~
> /usr/include/c++/6/cmath:1114:11: error: '::expm1f' has not been declared
>    using ::expm1f;
>            ^~~~~~
> /usr/include/c++/6/cmath:1115:11: error: '::expm1l' has not been declared
>    using ::expm1l;
>            ^~~~~~
> /usr/include/c++/6/cmath:1117:11: error: '::fdim' has not been declared
>    using ::fdim;
>            ^~~~
> /usr/include/c++/6/cmath:1118:11: error: '::fdimf' has not been declared
>    using ::fdimf;
>            ^~~~~
> /usr/include/c++/6/cmath:1119:11: error: '::fdiml' has not been declared
>    using ::fdiml;
>            ^~~~~
> /usr/include/c++/6/cmath:1121:11: error: '::fma' has not been declared
>    using ::fma;
>            ^~~
> /usr/include/c++/6/cmath:1122:11: error: '::fmaf' has not been declared
>    using ::fmaf;
>            ^~~~
> /usr/include/c++/6/cmath:1123:11: error: '::fmal' has not been declared
>    using ::fmal;
>            ^~~~
> /usr/include/c++/6/cmath:1125:11: error: '::fmax' has not been declared
>    using ::fmax;
>            ^~~~
> /usr/include/c++/6/cmath:1126:11: error: '::fmaxf' has not been declared
>    using ::fmaxf;
>            ^~~~~
> /usr/include/c++/6/cmath:1127:11: error: '::fmaxl' has not been declared
>    using ::fmaxl;
>            ^~~~~
> /usr/include/c++/6/cmath:1129:11: error: '::fmin' has not been declared
>    using ::fmin;
>            ^~~~
> /usr/include/c++/6/cmath:1130:11: error: '::fminf' has not been declared
>    using ::fminf;
>            ^~~~~
> /usr/include/c++/6/cmath:1131:11: error: '::fminl' has not been declared
>    using ::fminl;
>            ^~~~~
> /usr/include/c++/6/cmath:1134:11: error: '::hypotf' has not been declared
>    using ::hypotf;
>            ^~~~~~
> /usr/include/c++/6/cmath:1135:11: error: '::hypotl' has not been declared
>    using ::hypotl;
>            ^~~~~~
> /usr/include/c++/6/cmath:1138:11: error: '::ilogbf' has not been declared
>    using ::ilogbf;
>            ^~~~~~
> /usr/include/c++/6/cmath:1139:11: error: '::ilogbl' has not been declared
>    using ::ilogbl;
>            ^~~~~~
> /usr/include/c++/6/cmath:1142:11: error: '::lgammaf' has not been declared
>    using ::lgammaf;
>            ^~~~~~~
> /usr/include/c++/6/cmath:1143:11: error: '::lgammal' has not been declared
>    using ::lgammal;
>            ^~~~~~~
> /usr/include/c++/6/cmath:1145:11: error: '::llrint' has not been declared
>    using ::llrint;
>            ^~~~~~
> /usr/include/c++/6/cmath:1146:11: error: '::llrintf' has not been declared
>    using ::llrintf;
>            ^~~~~~~
> /usr/include/c++/6/cmath:1147:11: error: '::llrintl' has not been declared
>    using ::llrintl;
>            ^~~~~~~
> /usr/include/c++/6/cmath:1149:11: error: '::llround' has not been declared
>    using ::llround;
>            ^~~~~~~
> /usr/include/c++/6/cmath:1150:11: error: '::llroundf' has not been declared
>    using ::llroundf;
>            ^~~~~~~~
> /usr/include/c++/6/cmath:1151:11: error: '::llroundl' has not been declared
>    using ::llroundl;
>            ^~~~~~~~
> /usr/include/c++/6/cmath:1154:11: error: '::log1pf' has not been declared
>    using ::log1pf;
>            ^~~~~~
> /usr/include/c++/6/cmath:1155:11: error: '::log1pl' has not been declared
>    using ::log1pl;
>            ^~~~~~
> /usr/include/c++/6/cmath:1157:11: error: '::log2' has not been declared
>    using ::log2;
>            ^~~~
> /usr/include/c++/6/cmath:1158:11: error: '::log2f' has not been declared
>    using ::log2f;
>            ^~~~~
> /usr/include/c++/6/cmath:1159:11: error: '::log2l' has not been declared
>    using ::log2l;
>            ^~~~~
> /usr/include/c++/6/cmath:1162:11: error: '::logbf' has not been declared
>    using ::logbf;
>            ^~~~~
> /usr/include/c++/6/cmath:1163:11: error: '::logbl' has not been declared
>    using ::logbl;
>            ^~~~~
> /usr/include/c++/6/cmath:1165:11: error: '::lrint' has not been declared
>    using ::lrint;
>            ^~~~~
> /usr/include/c++/6/cmath:1166:11: error: '::lrintf' has not been declared
>    using ::lrintf;
>            ^~~~~~
> /usr/include/c++/6/cmath:1167:11: error: '::lrintl' has not been declared
>    using ::lrintl;
>            ^~~~~~
> /usr/include/c++/6/cmath:1169:11: error: '::lround' has not been declared
>    using ::lround;
>            ^~~~~~
> /usr/include/c++/6/cmath:1170:11: error: '::lroundf' has not been declared
>    using ::lroundf;
>            ^~~~~~~
> /usr/include/c++/6/cmath:1171:11: error: '::lroundl' has not been declared
>    using ::lroundl;
>            ^~~~~~~
> /usr/include/c++/6/cmath:1173:11: error: '::nan' has not been declared
>    using ::nan;
>            ^~~
> /usr/include/c++/6/cmath:1174:11: error: '::nanf' has not been declared
>    using ::nanf;
>            ^~~~
> /usr/include/c++/6/cmath:1175:11: error: '::nanl' has not been declared
>    using ::nanl;
>            ^~~~
> /usr/include/c++/6/cmath:1177:11: error: '::nearbyint' has not been declared
>    using ::nearbyint;
>            ^~~~~~~~~
> /usr/include/c++/6/cmath:1178:11: error: '::nearbyintf' has not been declared
>    using ::nearbyintf;
>            ^~~~~~~~~~
> /usr/include/c++/6/cmath:1179:11: error: '::nearbyintl' has not been declared
>    using ::nearbyintl;
>            ^~~~~~~~~~
> /usr/include/c++/6/cmath:1182:11: error: '::nextafterf' has not been declared
>    using ::nextafterf;
>            ^~~~~~~~~~
> /usr/include/c++/6/cmath:1183:11: error: '::nextafterl' has not been declared
>    using ::nextafterl;
>            ^~~~~~~~~~
> /usr/include/c++/6/cmath:1185:11: error: '::nexttoward' has not been declared
>    using ::nexttoward;
>            ^~~~~~~~~~
> /usr/include/c++/6/cmath:1186:11: error: '::nexttowardf' has not been declared
>    using ::nexttowardf;
>            ^~~~~~~~~~~
> /usr/include/c++/6/cmath:1187:11: error: '::nexttowardl' has not been declared
>    using ::nexttowardl;
>            ^~~~~~~~~~~
> /usr/include/c++/6/cmath:1190:11: error: '::remainderf' has not been declared
>    using ::remainderf;
>            ^~~~~~~~~~
> /usr/include/c++/6/cmath:1191:11: error: '::remainderl' has not been declared
>    using ::remainderl;
>            ^~~~~~~~~~
> /usr/include/c++/6/cmath:1193:11: error: '::remquo' has not been declared
>    using ::remquo;
>            ^~~~~~
> /usr/include/c++/6/cmath:1194:11: error: '::remquof' has not been declared
>    using ::remquof;
>            ^~~~~~~
> /usr/include/c++/6/cmath:1195:11: error: '::remquol' has not been declared
>    using ::remquol;
>            ^~~~~~~
> /usr/include/c++/6/cmath:1198:11: error: '::rintf' has not been declared
>    using ::rintf;
>            ^~~~~
> /usr/include/c++/6/cmath:1199:11: error: '::rintl' has not been declared
>    using ::rintl;
>            ^~~~~
> /usr/include/c++/6/cmath:1201:11: error: '::round' has not been declared
>    using ::round;
>            ^~~~~
> /usr/include/c++/6/cmath:1202:11: error: '::roundf' has not been declared
>    using ::roundf;
>            ^~~~~~
> /usr/include/c++/6/cmath:1203:11: error: '::roundl' has not been declared
>    using ::roundl;
>            ^~~~~~
> /usr/include/c++/6/cmath:1205:11: error: '::scalbln' has not been declared
>    using ::scalbln;
>            ^~~~~~~
> /usr/include/c++/6/cmath:1206:11: error: '::scalblnf' has not been declared
>    using ::scalblnf;
>            ^~~~~~~~
> /usr/include/c++/6/cmath:1207:11: error: '::scalblnl' has not been declared
>    using ::scalblnl;
>            ^~~~~~~~
> /usr/include/c++/6/cmath:1209:11: error: '::scalbn' has not been declared
>    using ::scalbn;
>            ^~~~~~
> /usr/include/c++/6/cmath:1210:11: error: '::scalbnf' has not been declared
>    using ::scalbnf;
>            ^~~~~~~
> /usr/include/c++/6/cmath:1211:11: error: '::scalbnl' has not been declared
>    using ::scalbnl;
>            ^~~~~~~
> /usr/include/c++/6/cmath:1213:11: error: '::tgamma' has not been declared
>    using ::tgamma;
>            ^~~~~~
> /usr/include/c++/6/cmath:1214:11: error: '::tgammaf' has not been declared
>    using ::tgammaf;
>            ^~~~~~~
> /usr/include/c++/6/cmath:1215:11: error: '::tgammal' has not been declared
>    using ::tgammal;
>            ^~~~~~~
> /usr/include/c++/6/cmath:1217:11: error: '::trunc' has not been declared
>    using ::trunc;
>            ^~~~~
> /usr/include/c++/6/cmath:1218:11: error: '::truncf' has not been declared
>    using ::truncf;
>            ^~~~~~
> /usr/include/c++/6/cmath:1219:11: error: '::truncl' has not been declared
>    using ::truncl;
>            ^~~~~~
> make[2]: *** [obj/genericMap.o] Error 1

The full build log is available from:
   http://people.debian.org/~lucas/logs/2016/07/13/attal_1.0~rc2-2_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 Pkg-games-devel mailing list