[SciPy-dev] scipy 0.4.3 won't build with gcc 4.0.1 (Xcode 2.2) on Macos X
Jeff Whitaker
jswhit at fastmail.fm
Thu Nov 17 11:59:25 EST 2005
gcc 4.0.1 doesn't like nested functions on MacOS X.
building 'scipy.interpolate.dfitpack' extension
compiling C sources
gcc options: '-fno-strict-aliasing -Wno-long-double -no-cpp-precomp
-mno-fused-madd -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -I/sw/
include'
creating build/temp.darwin-8.3.0-Power_Macintosh-2.4/build/src/Lib/interpolate
compile options: '-Ibuild/src
-I/sw/lib/python2.4/site-packages/scipy/base/include
-I/sw/include/python2.4 -c'
gcc: build/src/Lib/interpolate/dfitpackmodule.c
build/src/Lib/interpolate/dfitpackmodule.c: In function
'f2py_rout_dfitpack_surfit_smth':
build/src/Lib/interpolate/dfitpackmodule.c:2528: error: nested
functions are not supported on MacOSX
build/src/Lib/interpolate/dfitpackmodule.c:2540: error: nested
functions are not supported on MacOSX
build/src/Lib/interpolate/dfitpackmodule.c: In function
'f2py_rout_dfitpack_surfit_lsq':
build/src/Lib/interpolate/dfitpackmodule.c:2976: error: nested
functions are not supported on MacOSX
build/src/Lib/interpolate/dfitpackmodule.c:2988: error: nested
functions are not supported on MacOSX
build/src/Lib/interpolate/dfitpackmodule.c: In function
'f2py_rout_dfitpack_surfit_smth':
build/src/Lib/interpolate/dfitpackmodule.c:2528: error: nested
functions are not supported on MacOSX
build/src/Lib/interpolate/dfitpackmodule.c:2540: error: nested
functions are not supported on MacOSX
build/src/Lib/interpolate/dfitpackmodule.c: In function
'f2py_rout_dfitpack_surfit_lsq':
build/src/Lib/interpolate/dfitpackmodule.c:2976: error: nested
functions are not supported on MacOSX
build/src/Lib/interpolate/dfitpackmodule.c:2988: error: nested
functions are not supported on MacOSX
error: Command "gcc -fno-strict-aliasing -Wno-long-double
-no-cpp-precomp -mno-fused-madd -DNDEBUG -g -O3 -Wall
-Wstrict-prototypes
-I/sw/include -Ibuild/src
-I/sw/lib/python2.4/site-packages/scipy/base/include
-I/sw/include/python2.4 -c build/src/Lib/interpolate/
dfitpackmodule.c -o
build/temp.darwin-8.3.0-Power_Macintosh-2.4/build/src/Lib/interpolate/dfitpackmodule.o"
failed with exit status 1
And the first two "nested function" are as follows:
2528> int calc_lwrk1(void) {
int u = nxest-kx-1;
int v = nyest-ky-1;
int km = MAX(kx,ky)+1;
int ne = MAX(nxest,nyest);
int bx = kx*v+ky+1;
int by = ky*u+kx+1;
int b1,b2;
if (bx<=by) {b1=bx;b2=bx+v-ky;}
else {b1=by;b2=by+u-kx;}
return u*v*(2+b1+b2)+2*(u+v+km*(m+ne)+ne-kx-ky)+b2+1;
}
2540> int calc_lwrk2(void) {
int u = nxest-kx-1;
int v = nyest-ky-1;
int bx = kx*v+ky+1;
int by = ky*u+kx+1;
int b2 = (bx<=by?bx+v-ky:by+u-kx);
return u*v*(b2+1)+b2;
}
These are indeed nested within another function. Unfortunately, unlss
the new gcc has a "sloppy-code" flag or something similar, I can't
think of a workaround.
It works fine with Xcode 2.1, which uses gcc 4.0.0.
A thread concerning this behavior has been posted at
http://lists.apple.com/archives/Xcode-users/2005/Nov/msg00267.html
-Jeff
--
Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker at noaa.gov
325 Broadway Office : Skaggs Research Cntr 1D-124
Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
More information about the SciPy-Dev
mailing list