[SciPy-dev] Undefined NAN in amos_wrappers.c errors on Solaris amd64
Wed May 6 16:57:14 CDT 2009
Dave Peterson wrote:
> Finding that many of the other .c files in scipy/special/cephes
> contained an extern NAN definition, I ended up inserting the following
> in amos_wrappers.c. The file now compiles and 'python setup.py build'
> finishes, but is this the "right" fix? I would have thought there was a
> common header where this should be declared?
> extern double INFINITY, NAN;
I don't believe this is the "right" fix. It will work, but that doesn't
mean it is the way it is supposed to be fixed. Unlike many other
operating systems the C99 bits of the math standard are guarded on
Solaris by C99 checks, i.e. if you add "-std=c99" to your compiler flags
it should work out of the box. Note that this might open up a potential
can of worms since all the sudden some other header bits aren't there
any more since they are conditionally used only when C99 is not defined.
Anyway, the flag setting might be too invasive for some people, but I
just wanted to point out that technically the fix is a hacky (but quite
common) workaround. As long as it works I don't care too much :)
> -- Dave
More information about the Scipy-dev