[webkit-gtk] building webkit-gtk using gcc 4.7.2 : error: 'isnan' was not declared in this scope

Richard PALO richard.palo at baou.fr
Mon Dec 31 23:23:23 PST 2012

>    CXX    Source/JavaScriptCore/Programs_jsc_1-jsc.o
> In file included from Source/JavaScriptCore/jsc.cpp:32:0:
> Source/JavaScriptCore/JSCTypedArrayStubs.h: In member function 'void
> JSC::JSInt8Array::finishCreation(JSC::JSGlobalData&)':
> Source/JavaScriptCore/JSCTypedArrayStubs.h:194:1: error: invalid
> conversion from 'signed char*' to 'int8_t* {aka char*}' [-fpermissive]
> gmake[1]: *** [Source/JavaScriptCore/Programs_jsc_1-jsc.o] Error 1
> gmake[1]: Leaving directory
> `/tmp/pkgsrc/www/webkit-gtk/work/webkitgtk-1.10.1'
> gmake: *** [all] Error 2
> *** Error code 2

On (at least) solaris platforms, sys/isa_defs.h specifies 
_CHAR_IS_SIGNED for both x86 and x86_64...

sys/int_types.h (included from stdint.h) has this:
  * Basic / Extended integer types
  * The following defines the basic fixed-size integer types.
  * Implementations are free to typedef them to Standard C integer types or
  * extensions that they support. If an implementation does not support one
  * of the particular integer data types below, then it should not 
define the
  * typedefs and macros corresponding to that data type.  Note that int8_t
  * is not defined in -Xs mode on ISAs for which the ABI specifies "char"
  * as an unsigned entity because there is no way to define an eight bit
  * signed integral.
#if defined(_CHAR_IS_SIGNED)
typedef char                    int8_t;
#if defined(__STDC__)
typedef signed char             int8_t;

Therefore int8_t is *always* simply 'typedef char int8_t'.

It appears that webkit is presuming somewhere (or everywhere) that 
int8_t is a signed char therefore the error...

More information about the webkit-gtk mailing list