Testing libexpat, error: 'NAN' was not declared in this scope

İhsan Doğan ihsan at opencsw.org
Thu Feb 24 21:13:44 CET 2022


Hi Jeffrey,

> Am 24.02.2022 um 21:08 schrieb Jeffrey Walton via users <users at lists.opencsw.org>:
>> 
>> I'm trying to compile libexpat 2.4.5 on SOlaris 11.4. It has that
>> antique GCC 4.8.2. The build is failing:
>> 
>> $ make check -k
>> ...
>> /bin/g++ -DHAVE_CONFIG_H -I. -I..   -DXML_ENABLE_VISIBILITY=1
>> -I./../lib -I/opt/ssh/incl
>> ude -DNDEBUG -Wall   -fexceptions -fno-strict-aliasing -g2 -O2 -m64
>> -march=native -fPIC
>> -pthread -MT runtestspp.o -MD -MP -MF .deps/runtestspp.Tpo -c -o
>> runtestspp.o runtestspp
>> .cpp
>> In file included from runtestspp.cpp:36:0:
>> runtests.c: In function 'void test_billion_laughs_attack_protection_api()':
>> runtests.c:11712:32: error: 'NAN' was not declared in this scope
>>          parserWithoutParent, NAN)
>>                               ^
>> runtests.c:11734:32: error: 'INFINITY' was not declared in this scope
>>          parserWithoutParent, INFINITY)
>>                               ^
>> *** Error code 1
>> 
>> I've included <sunmath.h> but the defines/symbols are still missing. I
>> also included headers mentioned at
>> https://docs.oracle.com/cd/E19957-01/806-3568/ncg_lib.html. I'm out of
>> ideas.
>> 
>> Does anyone know what to include to get those symbols?
> 
> Sebastian checked in a fix for this. See
> https://github.com/libexpat/libexpat/issues/569.
> 
> I did not realize the portable way to get INFINITY and NAN is
> strtof("infinity", NULL) and strtof("nan", NULL), respectively.

Did this patch fix your issue?



Regards

Ihsan


More information about the users mailing list