[Python-bugs-list] [Bug #115641] Dynamic Loading Fails on Mac OS X

noreply@sourceforge.net noreply@sourceforge.net
Sat, 7 Oct 2000 11:16:06 -0700


Bug #115641, was updated on 2000-Sep-29 00:20
Here is a current snapshot of the bug.

Project: Python
Category: Build
Status: Open
Resolution: None
Bug Group: Platform-specific
Priority: 5
Summary: Dynamic Loading Fails on Mac OS X

Details: Martin v. Loewis asked me to report that dynamic loading fails on Mac OS X.  I was able to successfully build the CVS version of Python following the directions posted by Dan Wolfe to Python-Dev:

http://www.python.org/pipermail/python-dev/2000-September/016289.html

However, I had some problems compiling the CVS version of Python/XML and reported them as a bug to Source Forge:

https://sourceforge.net/bugs/?func=detailbug&group_id=6473&bug_id=115544

Martin pointed out "how distutils comes up with the linker line: They read the configure-generated Makefile and scan for LDSHARED. So anything that was in the Python Makefile will be used when linking a distutils module."  He aksed me to try to build Python a few different ways, but they all failed.

When configured with:

./configure -with-threads -with-dyld --with-next-framework -with-suffix=.exe

Building Python produced the following:

cd Modules ; make OPT="-g -O2 -fno-common" VERSION="2.0" \
                prefix="/usr/local" exec_prefix="/usr/local" all
make[2]: Nothing to be done for `all'.
libtool -o libpython2.0.dylib -dynamic  libpython2.0.a -framework System  
ld: for architecture ppc
ld: Undefined symbols:
restFP
saveFP
___eprintf
_environ
libtool: internal link edit command failed
make[1]: *** [libpython2.0.dylib] Error 1
make: *** [python.exe] Error 2

When line 579 in "configure" is modified to the following:

then LDSHARED='$(CC) $(LDFLAGS) -bundle -undefined suppress'

building Python results in the following:

for i in Parser Grammar Objects Python Modules; do \
                (cd $i; make VERSION="2.0" add2lib); done
make[2]: `add2lib' is up to date.
make[2]: Nothing to be done for `add2lib'.
make[2]: `add2lib' is up to date.
make[2]: `add2lib' is up to date.
make[2]: `add2lib' is up to date.
libtool -o libpython2.0.dylib -dynamic  libpython2.0.a -framework System  
ld: for architecture ppc
ld: Undefined symbols:
___eprintf
_environ
libtool: internal link edit command failed
make[1]: *** [libpython2.0.dylib] Error 1
make: *** [python.exe] Error 2

I have only been using Mac OS X for a few days (and the development tools even less), so this could definitely be due to user error, but I will help out however I can.



For detailed info, follow this link:
http://sourceforge.net/bugs/?func=detailbug&bug_id=115641&group_id=5470