i think i found a working solution. since my knowledge of compilers and 
linkers isn't the greatest i'll just explain what i did.

trying to compile python2.1.1 on OS X 10.1 failed for me displaying the 
very same error. searching through apple's discussion i found the 
following link:

http://fink.sourceforge.net/doc/porting/shared.php

it explains that some linker/compiler default options have changed. in 
order to get python compiled and running i edited the toplevel Makefile 
after running ./configure and edited the lines starting with LDSHARED and 
BLDSHARED, this is what they look like now in my setup:

LDSHARED=   $(CC) $(LDFLAGS) -bundle -flat_namespace -undefined suppress
BLDSHARED=  $(CC) $(LDFLAGS) -bundle -flat_namespace -undefined suppress

notice the "-flat_namespace" switch, this gets rid of the new default 
"twolevel_namespace" that complains about "undefined warning".

running "make" was now successful and i was able to compile and run Zope 2.
4.1.   you will probably have to recompile your python to set that switch 
under 10.1.

i only did some light testing, no guarantees and before using this in 
production you might want to read up on those compiler/linker options...

jens



On Sunday, September 30, 2001, at 07:19 , Mitchell L Model wrote:

> Trouble compiling Zope 2.4.1 on Mac OS 10.1:
>
> installed a fresh 10.1 that I just got from Apple
>
>
>
> downloaded the Zope 2.4.1 src
>
>
>
> 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
>
>
>
> Whatever I do, it breaks in the same place.  Here's the end of the output:
>
> sed -f sedscript ./Makefile.pre.in >Makefile.pre
>
> /usr/local/lib/python2.1/config/makesetup \
>
>          -m Makefile.pre -c /usr/local/lib/python2.1/config/config.c.in 
> Setup -n  /usr/local/lib/py\
>
> thon2.1/config/Setup.config /usr/local/lib/python2.1/config/Setup.local 
> /usr/local/lib/python2.1/co\
>
> nfig/Setup
>
> make -f Makefile do-it-again
>
> /usr/local/lib/python2.1/config/makesetup \
>
>          -m Makefile.pre -c /usr/local/lib/python2.1/config/config.c.in 
> Setup -n  /usr/local/lib/py\
>
> thon2.1/config/Setup.config /usr/local/lib/python2.1/config/Setup.local 
> /usr/local/lib/python2.1/co\
>
> nfig/Setup
>
> make
>
> cc  -g -O2 -Wall -Wstrict-prototypes -I/usr/local/include/python2.1 
> -I/usr/local/include/python2.1 \
>
> -DHAVE_CONFIG_H  -I../Components/ExtensionClass/src -c ././../Components/
> ExtensionClass/src/Extensi\
>
> onClass.c -o ./ExtensionClass.o
>
> In file included from /usr/local/include/python2.1/pyport.h:84,
>
>                  from /usr/local/include/python2.1/Python.h:54,
>
>                  from ././../Components/ExtensionClass/src/ExtensionClass.
> h:114,
>
>                  from ././../Components/ExtensionClass/src/ExtensionClass.
> c:61:
>
> /usr/include/math.h:191: warning: function declaration isn't a prototype
>
> cc  -bundle -undefined suppress  ./ExtensionClass.o   -o ./ExtensionClass.
> so
>
> /usr/bin/ld: -undefined error must be used when -twolevel_namespace is in 
> effect
>
> make: *** [ExtensionClass.so] Error 1
>
> Traceback (most recent call last):
>
>   File "wo_pcgi.py", line 117, in ?
>
>   File "wo_pcgi.py", line 105, in main
>
>   File "/usr/local/src/Zope-2.4.1-src/inst/build_extensions.py", line 102,
>  in ?
>
>     make('lib','python')
>
>   File "/usr/local/src/Zope-2.4.1-src/inst/do.py", line 135, in make
>
>     do('make')
>
>   File "/usr/local/src/Zope-2.4.1-src/inst/do.py", line 104, in do
>
>     if i and picky: raise SystemError, i
>
> SystemError: 512
>
>
> 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?
>
> --
>
>
>     --- Mitchell


_______________________________________________
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )

Reply via email to