[issue13901] test_get_outputs (test_distutils) failure with --enable-shared on Mac OS X

2012-01-29 Thread toggtc

New submission from toggtc :

Current 2.7.2 + building on OS X 10.7.2 and gcc 4.2.1 (Apple build 5666.3):

i686-apple-darwin11-gcc-4.2.1: 
/private/var/folders/jy/dhptnvj90b34s0135sb_g6w8gn/T/tmpAfN6sj/foo.so: No 
such file or directory

==
ERROR: test_get_outputs (distutils.tests.test_build_ext.BuildExtTestCase)
--
Traceback (most recent call last):
  File 
"/Users/toggtc/.pythonbrew/pythons/Python-2.7.2/lib/python2.7/distutils/tests/test_build_ext.py",
 line 291, in test_get_outputs
cmd.run()
  File 
"/Users/toggtc/.pythonbrew/pythons/Python-2.7.2/lib/python2.7/distutils/command/build_ext.py",
 line 340, in run
self.build_extensions()
  File 
"/Users/toggtc/.pythonbrew/pythons/Python-2.7.2/lib/python2.7/distutils/command/build_ext.py",
 line 449, in build_extensions
self.build_extension(ext)
  File 
"/Users/toggtc/.pythonbrew/pythons/Python-2.7.2/lib/python2.7/distutils/command/build_ext.py",
 line 531, in build_extension
    target_lang=language)
  File 
"/Users/toggtc/.pythonbrew/pythons/Python-2.7.2/lib/python2.7/distutils/ccompiler.py",
 line 741, in link_shared_object
extra_preargs, extra_postargs, build_temp, target_lang)
  File 
"/Users/toggtc/.pythonbrew/pythons/Python-2.7.2/lib/python2.7/distutils/unixccompiler.py",
 line 258, in link
raise LinkError, msg
LinkError: command 'gcc' failed with exit status 1


"DYLD_LIBRARY_PATH" is not defined in default environment of OS X.
but, ./configure and ./configure.in are:
Darwin*)
LDLIBRARY='libpython$(VERSION).dylib'
BLDLIBRARY='-L. -lpython$(VERSION)'
RUNSHARED='DYLD_LIBRARY_PATH=`pwd`:${DYLD_LIBRARY_PATH}'

=> RUNSHARED=DYLD_LIBRARY_PATH=`pwd`:

and, test_build_ext.py:
 53 def _fixup_command(self, cmd):
 ...
 63 if (sysconfig.get_config_var('Py_ENABLE_SHARED') and
 64 not sys.platform.startswith('win')):
 65 runshared = sysconfig.get_config_var('RUNSHARED')
 66 if runshared is None:
 67 cmd.library_dirs = ['.']
 68 else:
 69 name, equals, value = runshared.partition('=')
 70 cmd.library_dirs = value.split(os.pathsep)

=> library_dirs=['`pwd`', '']

link command via unixccompier:
gcc-4.2 ... /foo.o -L`pwd` -L (empty!) -o /private/var/folder.../foo.so

=> "No such file or directory"
---

(for 2.7.2) 
https://raw.github.com/toggtc/python-patch/master/2.7.2/distutils_test_fixup_command_2.7.2.patch
(for 3.2.2) 
https://raw.github.com/toggtc/python-patch/master/3.2.2/distutils_test_fixup_command_3.2.2.patch

--
assignee: tarek
components: Distutils, Macintosh
messages: 152219
nosy: eric.araujo, tarek, toggtc
priority: normal
severity: normal
status: open
title: test_get_outputs (test_distutils) failure with --enable-shared on Mac OS 
X
versions: Python 2.7, Python 3.2

___
Python tracker 
<http://bugs.python.org/issue13901>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue13901] test_get_outputs (test_distutils) failure with --enable-shared on Mac OS X

2012-02-02 Thread toggtc

toggtc  added the comment:

Thank you for analysis and explanations, Ned. 
In addition, the -L(whitespace) is not allowed in Apple's GCC. GNU's GCC is OK. 
(I checked it using both GCC 4.2)
So, your solution is right.

--

___
Python tracker 
<http://bugs.python.org/issue13901>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com