Hi Gordon, Yes.. the same code on Linux, and Win32 works OK. I've actually tracked it down to a problem with threads and Numeric (another fink module). Here's a message I just sent to the MacPython folks. I'm just not sure how I can find out what "resource" is "unavailable". Any hints would be appreciated!
thanks, -steve From: Steve Spicklemire <[EMAIL PROTECTED]> Date: Mon Feb 25, 2002 03:47:54 PM America/Indianapolis To: Jack Jansen <[EMAIL PROTECTED]> Cc: Steve Spicklemire <[EMAIL PROTECTED]>, [EMAIL PROTECTED] Subject: Re: [Pythonmac-SIG] CXX/Numeric problem on MacOSX (was building vpython on MacOSX) OK.. it's almost certainly a problem with Numeric and threads. I modified NumPy's ufuncobject.c like this: [spicklemire:~/Packages] steve% diff -c Numeric-20.3-orig/Src/ufuncobject.c Numeric-20.3/Src/ufuncobject.c *** Numeric-20.3-orig/Src/ufuncobject.c Tue Aug 14 11:18:24 2001 --- Numeric-20.3/Src/ufuncobject.c Mon Feb 25 15:42:08 2002 *************** *** 470,477 **** if (self->check_return) check_array(mps[i]); } ! if (self->check_return && errno != 0) {math_error(); return -1;} ! return 0; } --- 470,488 ---- if (self->check_return) check_array(mps[i]); } ! if (self->check_return && (errno != 0)) ! { ! if ((errno == EDOM) || (errno == ERANGE)) ! { ! math_error(); return -1; ! } ! else ! { ! fprintf(stderr, "Hmm.. error encountered -> %i\n", errno); ! perror("error in ufunc generic function:"); ! } ! } ! return 0; } Now when I try to run the NumTut demo I see: [spicklemire:~/Packages/Numeric-20.3/Demo] steve% python -c "import NumTut;NumTut.test()" >>> view(greece) >>> view(1.0-greece) Hmm.. error encountered -> 35 error in ufunc generic function:: Resource temporarily unavailable >>> view(greeceBW) >>> view(greece*xgrade) >>> view(greece*ygrade) >>> negative = 1.0 - greece >>> view(greece*xgrade + negative*ygrade) >>> view(red) >>> view(green) >>> view(blue) >>> sine = sin(xgrade*6*pi) >>> view(green*sine + red*(1.0-sine)) >>> view(green + red[::-1]) >>> view(transpose(greece, (1,0,2))) [spicklemire:~/Packages/Numeric-20.3/Demo] steve% python -c "import NumTut;NumTut.test()" >>> view(greece) >>> view(1.0-greece) >>> view(greeceBW) >>> view(greece*xgrade) >>> view(greece*ygrade) >>> negative = 1.0 - greece >>> view(greece*xgrade + negative*ygrade) >>> view(red) >>> view(green) >>> view(blue) >>> sine = sin(xgrade*6*pi) >>> view(green*sine + red*(1.0-sine)) >>> view(green + red[::-1]) >>> view(transpose(greece, (1,0,2))) [spicklemire:~/Packages/Numeric-20.3/Demo] steve% python -c "import NumTut;NumTut.test()" >>> view(greece) >>> view(1.0-greece) Hmm.. error encountered -> 35 error in ufunc generic function:: Resource temporarily unavailable >>> view(greeceBW) >>> view(greece*xgrade) >>> view(greece*ygrade) >>> negative = 1.0 - greece >>> view(greece*xgrade + negative*ygrade) >>> view(red) >>> view(green) >>> view(blue) >>> sine = sin(xgrade*6*pi) >>> view(green*sine + red*(1.0-sine)) >>> view(green + red[::-1]) >>> view(transpose(greece, (1,0,2))) So... ufuncs just multiply, divide and suchlike! What "resources" are not available? It's fairly clear that it's thread related, since all the Numeric tests pass every time in a non-threaded example, as well as my own non-threaded testing to attempt to reproduce what I thought originally was a linking problem. So... how can I track down where errno is actually getting set? Does the fact that it happens "randomly" mean that it's not due to some numerical computation, but more likely about timing between threads? thanks, -steve On Monday, February 25, 2002, at 05:43 PM, Gordon Messmer wrote: > Your code doesn't look like it's using threads... I missed the early > part of this thread. Did you say that this problem is OS X specific, > for sure? > > On Sun, 2002-02-24 at 22:12, Steve Spicklemire wrote: >> Nope.. no help. It's looking like the problem might be that errno is >> being set in one thread, and detected in another. Does that sound >> possible? >> > _______________________________________________ Fink-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/fink-devel