[New-bugs-announce] [issue7115] extension module builds fail when using paths in the extension name
Tarek Ziadé
report at bugs.python.org
Tue Oct 13 00:33:04 CEST 2009
New submission from Tarek Ziadé <ziade.tarek at gmail.com>:
This change shows a regression (https://bugs.launchpad.net/bugs/449734),
the setup.py file might not be correct, but it did work before this
change (with plain distutils). Quoting from the report:
Set setup.py file looks like this:
setup(name='update-manager',
...
ext_modules=[Extension('UpdateManager/fdsend',
['UpdateManager/fdsend/fdsend.c'])],
...
With 2.6.4~rc1 the logs read:
copying build/lib.linux-x86_64-2.6/fdsend.so ->
/tmp/buildd/update-manager-0.126.1/debian/tmp/usr/lib/python2.6/dist-packages
With 2.6.3:
copying build/lib.linux-x86_64-2.6/UpdateManager/fdsend.so ->
/home/egon/devel/update-manager/checkout/build-area/update-manager-0.126.1/debian/tmp/usr/lib/python2.6/dist-packages/UpdateManager
So it looks like python is eating a prefix.
http://bugs.python.org/issue7064
is why this change was made.
Reading that, it was done because setuptools assumes that the method
is always called with the full dotted name, when it was just being called
with the last part of it.
However, update-manager isn't using a dotted module path anyway, it's
passing a path.
http://docs.python.org/distutils/setupscript.html#extension-names-and-packages
shows that you would be expected to use
ext_modules=[Extension('UpdateManager.fdsend',
['UpdateManager/fdsend/fdsend.c'])],
(note . not / in the first line)
----------
assignee: tarek
components: Distutils
messages: 93908
nosy: barry, doko, tarek
priority: release blocker
severity: normal
status: open
title: extension module builds fail when using paths in the extension name
versions: Python 2.6
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue7115>
_______________________________________
More information about the New-bugs-announce
mailing list