Ned Deily added the comment:
Sorry, I am unable to reproduce the problem with a vanilla Python 2.7.5 and a
downloaded Cython 0.19.1 either installing directly with Cython's setup.py or
using Pip 1.3.1. customize_compiler is used as part of every extension module
build in Distutils; it is not something special. AFAICT, the compiler_so
attribute of a CCompiler instance should always be a list. It is intended to
be set up as such by the set_executables method of CCompiler
(Lib/distutils/ccompiler.py) which calls set_executable for each item,
including compiler_so.
Now there could be a problem in Python 2 if, for some reason, the value for
'compiler_so' has become a Unicode string: set_executable is looking only for
an instance of type str. It looks like the original value for 'compiler_so' is
constructed in customize_compiler (in lib/distutils/sysconfig.py) by first
concatenating CC + ' ' + CFLAGS, where the CC and CFLAGS values are obtained
from the Python build (using get_config_vars) and possibly overridden by
environment variables of the same names. Then the value of the config var
'CCSHARED' is appended; it most likely is empty. So I would check to see the
types of distutils.sysconfig.get_config_var("CC") and ("CFLAGS") and
("CCSHARED") as well as os.environ["CC"] and ["CFLAGS"]. If any of them return
a type unicode string, I think that could explain the behavior you see. The use
of Unicode strings for these kinds of values are likely to lead to trouble, one
way or another, in Python 2 for sure. (Also, be aware that Cython extends Di
stutils with its own build_ext to allow building of Cython modules. I took a
very quick look at it and did not see any obvious problems.)
----------
assignee: ronaldoussoren -> ned.deily
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue18071>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com