This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: extension module builds fail when using paths in the extension name
Type: Stage:
Components: Distutils Versions: Python 2.6
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: tarek Nosy List: barry, doko, pje, tarek
Priority: release blocker Keywords:

Created on 2009-10-12 22:33 by tarek, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (3)
msg93908 - (view) Author: Tarek Ziadé (tarek) * (Python committer) Date: 2009-10-12 22:33
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)
msg93910 - (view) Author: Tarek Ziadé (tarek) * (Python committer) Date: 2009-10-12 22:41
done in r75390.

Matthias could you check on your side with the UpdateManager
distribution that it working fine now in your environment ?
msg93942 - (view) Author: Tarek Ziadé (tarek) * (Python committer) Date: 2009-10-13 21:20
Added complementary fix in r75395
History
Date User Action Args
2022-04-11 14:56:53adminsetgithub: 51364
2009-10-13 21:20:54tareksetnosy: + pje
messages: + msg93942
2009-10-12 22:41:02tareksetstatus: open -> closed
resolution: fixed
messages: + msg93910
2009-10-12 22:33:03tarekcreate