git clone compile errors on isnan

Michael Stahl mstahl at redhat.com
Fri Aug 5 10:21:09 UTC 2016


On 04.08.2016 22:24, Larry Evans wrote:
> In file included from 
> /home/evansl/dwnlds/LibreOffice/libreoffice/workdir/UnpackedTarball/boost/boost/lexical_cast/detail/inf_nan.hpp:35:0,
>                   from 
> /home/evansl/dwnlds/LibreOffice/libreoffice/workdir/UnpackedTarball/boost/boost/lexical_cast/detail/converter_lexical_streams.hpp:63,
>                   from 
> /home/evansl/dwnlds/LibreOffice/libreoffice/workdir/UnpackedTarball/boost/boost/lexical_cast/detail/converter_lexical.hpp:54,
>                   from 
> /home/evansl/dwnlds/LibreOffice/libreoffice/workdir/UnpackedTarball/boost/boost/lexical_cast/try_lexical_convert.hpp:42,
>                   from 
> /home/evansl/dwnlds/LibreOffice/libreoffice/workdir/UnpackedTarball/boost/boost/lexical_cast.hpp:32,
>                   from 
> /home/evansl/dwnlds/LibreOffice/libreoffice/external/boost/include/boost/lexical_cast.hpp:22,
>                   from 
> /home/evansl/dwnlds/LibreOffice/libreoffice/workdir/UnpackedTarball/boost/boost/date_time/date_names_put.hpp:20,
>                   from 
> /home/evansl/dwnlds/LibreOffice/libreoffice/workdir/UnpackedTarball/boost/boost/date_time/date_formatting_locales.hpp:18,
>                   from 
> /home/evansl/dwnlds/LibreOffice/libreoffice/workdir/UnpackedTarball/boost/boost/date_time/gregorian/greg_facet.hpp:13,
>                   from 
> /home/evansl/dwnlds/LibreOffice/libreoffice/workdir/UnpackedTarball/boost/libs/date_time/src/gregorian/greg_month.cpp:15:
> /home/evansl/dwnlds/LibreOffice/libreoffice/workdir/UnpackedTarball/boost/boost/math/special_functions/fpclassify.hpp: 
> In function ‘bool boost::math_detail::is_nan_helper(__float128, const 
> true_type&)’:
> /home/evansl/dwnlds/LibreOffice/libreoffice/workdir/UnpackedTarball/boost/boost/math/special_functions/fpclassify.hpp:137:75: 
> error: ‘::isnan’ has not been declared
>   inline bool is_nan_helper(__float128 f, const boost::true_type&) { 
> return ::isnan(static_cast<double>(f)); }
>  
>     ^
> /home/evansl/dwnlds/LibreOffice/libreoffice/workdir/UnpackedTarball/boost/boost/math/special_functions/fpclassify.hpp:137:75: 
> note: suggested alternatives:
> In file included from /usr/local/include/c++/4.9.0/random:38:0,
>                   from /usr/local/include/c++/4.9.0/bits/stl_algo.h:66,
>                   from /usr/local/include/c++/4.9.0/algorithm:62,
>                   from 
> /home/evansl/dwnlds/LibreOffice/libreoffice/workdir/UnpackedTarball/boost/boost/smart_ptr/shared_ptr.hpp:38,
>                   from 
> /home/evansl/dwnlds/LibreOffice/libreoffice/workdir/UnpackedTarball/boost/boost/shared_ptr.hpp:17,
>                   from 
> /home/evansl/dwnlds/LibreOffice/libreoffice/external/boost/include/boost/shared_ptr.hpp:22,
>                   from 
> /home/evansl/dwnlds/LibreOffice/libreoffice/workdir/UnpackedTarball/boost/boost/date_time/gregorian/greg_month.hpp:14,
>                   from 
> /home/evansl/dwnlds/LibreOffice/libreoffice/workdir/UnpackedTarball/boost/libs/date_time/src/gregorian/greg_month.cpp:14:
> /usr/local/include/c++/4.9.0/cmath:632:5: note:   ‘std::isnan’
>       isnan(_Tp __x)
>       ^

you are using a custom toolchain installed in /usr/local that is not set
up correctly.

various GCC headers and glibc headers with the same name include each
other via #include_next, and that doesn't work in your case for whatever
reason, the file /usr/include/math.h that defines a ::isnan (or isnan as
a macro, in case of Fedora 24) isn't included.

you could spend some hours looking at preprocessor output and tweak
include paths to get that to work, or you could just use the GCC shipped
in your distribution which presumably works.



More information about the LibreOffice mailing list