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 (4)
Priority: release blocker Keywords

Created on 2009-10-12 22:33 by tarek, last changed 2009-10-13 21:20 by tarek.

Messages (3)
msg93908 - (view) Author: Tarek Ziadé (tarek) 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) 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) Date: 2009-10-13 21:20
Added complementary fix in r75395
History
Date User Action Args
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