[Stackless] Problems on OS X
Jonathan Hogg
jonathan at onegoodidea.com
Sat Sep 28 14:00:51 CEST 2002
Hi again,
On 27/9/2002 21:31, Sébastien Pierre wrote:
> I actually tried to make a Fink port for stackless, and ran into the
> same error. I then applied patches from the Fink Python 2.2 port for
> Jaguar to a Stackless CVS snapshot.
Yeah I suspected it was an OS X problem rather than Stackless, but I thought
I'd swing it by the list here and see if anyone else had hit it already.
On 27/9/2002 23:09, Christian Tismer wrote:
> Thanks! This is great!
> This bug has been there fom the beginning.
> The main tasklet is waiting for something, and then
> the last tasklet ends without sending/receiving.
> This case was not captured yet.
> The bug fix (in CVS) applies to all platforms.
>
> Thanks a lot, Jonathan!
No problem. Really it was nothing ;-)
Apple recently released Darwin 6.01, which corresponds to the BSD part of
10.2. So I pulled down the Python package as they build it and did a diff of
this against the standard Python 2.2 package and found actually remarkably
very little change. I took the change that they had made and applied this to
the Stackless code and it now seems to build fine.
The diff against the current CVS code is:
Index: configure
===================================================================
RCS file: /home/cvs/stackless/src/configure,v
retrieving revision 1.2
diff -r1.2 configure
1104c1104
< CPP="${CC-cc} -E -traditional-cpp"
---
> CPP="${CC-cc} -E -no-cpp-precomp"
Index: Modules/socketmodule.c
===================================================================
RCS file: /home/cvs/stackless/src/Modules/socketmodule.c,v
retrieving revision 1.1.1.2
diff -r1.1.1.2 socketmodule.c
216,229d215
< #ifdef __APPLE__
< /* On OS X, getaddrinfo returns no error indication of lookup
< failure, so we must use the emulation instead of the libinfo
< implementation. Unfortunately, performing an autoconf test
< for this bug would require DNS access for the machine performing
< the configuration, which is not acceptable. Therefore, we
< determine the bug just by checking for __APPLE__. If this bug
< gets ever fixed, perhaps checking for sys/version.h would be
< appropriate, which is 10/0 on the system with the bug. */
< #undef HAVE_GETADDRINFO
< /* avoid clashes with the C library definition of the symbol. */
< #define getaddrinfo fake_getaddrinfo
< #endif
<
The main trick appears to be to configure it with the '--enable-ipv6' flag.
Thanks all.
Jonathan
--
jonathan hogg, one good idea ltd, 131 queen margaret dr., glasgow g20 8pd
http://www.onegoodidea.com/ tel:+44-(0)7976-614338 fax:+44-(0)7970-537451
More information about the Stackless
mailing list