[OE-core] [PATCH]] python: Unbreak Python third-party extensions

Martin Jansa martin.jansa at gmail.com
Tue May 3 08:26:46 UTC 2011


On Tue, May 03, 2011 at 10:12:00AM +0200, Michael Lippautz wrote:
> On Mon, May 02, 2011 at 09:57:18AM -0700, Kamble, Nitin A wrote:
> > Michael,
> >    This patch is invasive for python recipe but looks fine to me. How much testing have you done? We have few python extensions in yocto repo, and none of them were hit by this issue. So which python extensions are seeing the issue?
> 
> Basically any package that uses Python extensions [1] including C libraries
> should suffer from this. The compilation of the package issues a cross-compile
> warning, but the packaging should fail due to QA checks.
> 
> Background [once more]:
> When building Python packages that contain C extensions, distutils has to figure
> out the compiler/linker options. Distutils utilizes its own sysconfig module to
> do so. However, this distutils.sysconfig module fetches the variables from the
> sysrooted Makefile (of the target). Without this patch this results in
> -I/usr/include and -L/usr/lib in the compiler/linker execution. (Python C
> extension are linked against -lpython2.6 for various reasons.)
> 
> The patches shuffles the Makefiles (sysroot/target) around in a way that for
> each bitbake step the right file is in place.
> 
> I did test this with some (private) packages and a gpsd build (2.96) that I have
> not yet pushed somewhere. Everything works as expected so far.

I've tested this patch on python-numeric, reported here
http://www.mail-archive.com/openembedded-core@lists.openembedded.org/msg00629.html

and this patch works for me and looks better than
distutils-common-base.bbclass: Prepend STAGING_LIBDIR to linker library search path.

BTW: PR was changed in 2870697f08c171f455dbba03dd529b8c4cf11937 so it
has to be changed in this patch to apply and there is extra ']' in
subject line.

Acked-by: Martin Jansa <Martin.Jansa at gmail.com>

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com


More information about the Openembedded-core mailing list