Problem building CVS version on OS X

Tom Loredo <loredo@...296...> writes:

I'm having trouble building the current CVS version of mpl
on OS X (10.3.9, Python 2.4). [...] numerix=scipy [...]
src/_na_transforms.cpp:493: error: `isnan' undeclared (first use this function)

I'm having the same problem in _nc_transforms.cpp, and I'm building on
OS X 10.4.3, Python 2.4, gcc 4.0, and with -DNUMERIC=1 (no numarray,
no scipy). It seems that the relevant lines in _transforms.cpp were
last modified by astraw on 15-Dec-05.

The following one-line change seems to fix that problem (but the rest
of the build hasn't finished yet). I don't know what this does in
other compilers, but comments in gcc's cmath suggest that the standard
requires isnan to be in the std namespace.

isnan.patch (539 Bytes)

···

--
Jouni K Sepp�nen

Tom, thanks for the bug report and Jouni thanks for the fix, which I've
just checked in.

Cheers!
Andrew

Jouni K Seppanen wrote:

···

Tom Loredo <loredo@...296...> writes:

I'm having trouble building the current CVS version of mpl
on OS X (10.3.9, Python 2.4). [...] numerix=scipy [...]
src/_na_transforms.cpp:493: error: `isnan' undeclared (first use this function)
   
I'm having the same problem in _nc_transforms.cpp, and I'm building on
OS X 10.4.3, Python 2.4, gcc 4.0, and with -DNUMERIC=1 (no numarray,
no scipy). It seems that the relevant lines in _transforms.cpp were
last modified by astraw on 15-Dec-05.

The following one-line change seems to fix that problem (but the rest
of the build hasn't finished yet). I don't know what this does in
other compilers, but comments in gcc's cmath suggest that the standard
requires isnan to be in the std namespace.

------------------------------------------------------------------------

Index: src/_transforms.cpp

RCS file: /cvsroot/matplotlib/matplotlib/src/_transforms.cpp,v
retrieving revision 1.39
diff -u -r1.39 _transforms.cpp
--- src/_transforms.cpp 15 Dec 2005 04:54:52 -0000 1.39
+++ src/_transforms.cpp 19 Dec 2005 06:14:42 -0000
@@ -444,6 +444,7 @@
Py::Object
Bbox::update_numerix(const Py::Tuple &args) {
  //update the boox from the numerix arrays x and y
+ using std::isnan;
  _VERBOSE("Bbox::update_numerix");

  args.verify_length(3);