[issue1099] Mac compile fails with pydebug and framework enabled

Ned Deily report at bugs.python.org
Sat Mar 12 13:22:19 CET 2011


Ned Deily <nad at acm.org> added the comment:

The patch, as is, fixes another build failure mode that has been reported (http://article.gmane.org/gmane.comp.python.general/685151):

  ./configure --enable-framework ; make

I verified that 3.2 builds without the patch fail on both 10.5 ppc and 10.4 ppc (10.4 fails thusly):

  ld: Undefined symbols:
  ___divdi3
  ___moddi3
  ___fixdfdi
  /usr/bin/libtool: internal link edit command failed

and builds works and tests pass with the patch on both.

It doesn't totally fix yet another use case (http://permalink.gmane.org/gmane.comp.python.general/685512), that of building an i386-only Python on a 10.6 64-bit-capable system:

  ./configure '--enable-framework' 'CFLAGS=-arch i386' 'CPPFLAGS=-arch i386' 'LDFLAGS=-arch i386'

With the patch, the build gets a bit further and the modified libpython make step emits the warning:
  ld: warning: in libpython3.3m.a, file was built for unsupported file format which is not the architecture being linked (x86_64)

but then the python.exe build step fails with:
  ld: warning: in Python.framework/Versions/3.3/Python, file was built for unsupported file format which is not the architecture being linked (i386)

The problem is that the libpython step (both originally and in the patch) does not take LDFLAGS into account.  Changing one line in the patch fixes that:

        $(CC) -o $(LDLIBRARY) @UNIVERSAL_ARCH_FLAGS@ -dynamiclib \
-               @FRAMEWORK_LINK_FLAGS@ \
+               @FRAMEWORK_LINK_FLAGS@ $(PY_LDFLAGS) \
                -all_load $(LIBRARY) -Wl,-single_module \

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue1099>
_______________________________________


More information about the Python-bugs-list mailing list