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.