On Thu, Aug 17, 2006 at 06:08:48PM -0400, Graham Dumpleton wrote:
> > > and it just goes haywire.
> 
> You are going to have to explain 'haywire' by posting up the actual error
> output from compiler or otherwise.

The extracted values for LINKFORSHARED depends on values not present in the
Makefile: PYTHONFRAMEWORKDIR / VERSION / PYTHONFRAMEWORK producing a Makefile
LDFLAGS like so:

LDFLAGS= -Wl,-framework,Python  -u __dummy -u _PyMac_Error -framework System
$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK) -framework
CoreServices -framework Foundation   -Wl,-F. -Wl,-F.

The undefined symbols causes LDFLAGS to reduce to:

LDFLAGS= -Wl,-framework,Python -u __dummy -u _PyMac_Error -framework System
/Versions// -framework CoreServices -framework Foundation

That's a syntax error that is detected at link-time of mod_python.so with:

.../libtool --silent --mode=link ccache gcc -o mod_python.la  -rpath
.../httpd-trunk/modules -module -avoid-version    hlistobject.lo hlist.lo
filterobject.lo connobject.lo serverobject.lo util.lo tableobject.lo
requestobject.lo _apachemodule.lo mod_python.lo -Wl,-framework,Python -u
__dummy -u _PyMac_Error -framework System /Versions// -framework CoreServices
-framework Foundation -Wl,-F. -Wl,-F. -lm -framework Python -ldl
powerpc-apple-darwin8-gcc-4.0.1: /Versions//: No such file or directory

If you import the missing values you get: Python.framework/Versions/2.3/Python
which is still incorrect: that's not the line to link against Python with when
you're trying to create a DSO on Mac OS X.

LINKFORSHARED is the wrong value to be relying upon.  It should be using
LDSHARED instead.  The only thing in MP trunk that is correct right now is
setup.py.  -- justin

Reply via email to