mitchell, since python 2.2 is not yet officially supported i stuck with 2.1. we haven't done any extensive testing using 2.2 yet and there might still be some side effects. jens On Monday, October 1, 2001, at 10:43 , Mitchell L Model wrote:
<...>
Wonderful! Thanks!! Great information.
Having said that, and having spent a couple of hours experimenting, let me try to clarify things a bit:
1. Python 2.2a4 defaults to --with-dylib, so you don't need that when making Python 2.2a4 as you did for 2.1.
2. Likewise, you don't need to set OPT the way the 2.1 README says for Mac OS 10.
3. Similarly, the Python2.2a4 configure.in knows to add -flat_namespace to Makefile.pre and therefore Makefile.
4. Both 2.1 and 2.2a4 correctly specify -undefined suppress.
So, whereas I did need to fix the Python 2.1 Makefile to build it, I didn' t need to fix the Python 2.2a4 Makefile to build it. (I guess I didn't try building Python 2.1 yesterday, or I would have realized the problem wasn't in Zope, but in Python, as you discovered.)
From my experience this evening, I'm surprised that fixing the Python Makefile would allow you to compile Zope. It turns out that the zope configuration process uses the Makefile.pre.in installed in (typically) /usr/local/lib/python2.{1,2}/config. It also turns out that although Python 2.2a4 correctly adds -flat_namespace to Makefile.pre and Makefile, it doesn't add it to Makefile.pre.in! So for both 2.1 and 2.2 I had to add:
LDSHARED= $(CC) $(LDFLAGS) -flat_namespace -undefined suppress
to Makefile.pre.in, either in the Python src directory before doing 'make install' or in the /usr/local/lib/python2.{1,2}/config after doing the install.
I'll report this problem to the Python developers. Thanks for you hints and your careful reading of the fink documentation on shared libraries. (fink is a fabulous resource!)
-- --- Mitchell