[Zope-dev] compiling Zope 2.4.1 on Mac OS 10.1
Matthew T. Kromer
matt@zope.com
Mon, 01 Oct 2001 10:12:02 -0400
Mitchell L Model wrote:
> Trouble compiling Zope 2.4.1 on Mac OS 10.1:
>
> tried 'python wo_pcgi' with both a Python 2.2a4 I just made and
> with my previous Python 2.1, both with and without sudo
>
> cc -bundle -undefined suppress ./ExtensionClass.o -o
> ./ExtensionClass.so
>
> /usr/bin/ld: -undefined error must be used when
> -twolevel_namespace is in effect
>
> [...]
>
>
> The 'two-level namespace' business is a change from the OX X developer
> tools version 10.0 to 10.1.
>
>
> Anyone know what's going on here and how to fix it?
>
Well, besides the obvious that MacOS 10.1 is only hot-off-the-shelves
for a few hours, the problem is that the dynamic loader under Darwin
used a flat namespace to load ALL shared libraries into (does Windows do
the same? I dont know) whereas most Unixes load each shared library with
its own namespace [which is a bit of a technical abstraction and hand
waving]. It sure looks to me like Apple is trying to fix the namespace
collision problems with dyld, with that -twolevel_namespace (which
sounds like a funky namespace munger). My best guess at noodling the
error message is that it means "your library must use the symbol
'undefined error'" when the loader goes to load a name from the library
and it is not present. It may be that there is something like a
interrogation call to the library -- "do you have member X?" -- rather
than what I'm used to, which is the loader looking in the library's
table of contents. I suspect, but dont know, that it has to do with how
Objective C methods get bound dynamically.
Thats not a very helpful response, but until I go to an Apple store to
get OS 10.1, I can't see it in action or read the docs.