[oe] [RFC] set PYTHONPATH inside distutils-base.bbclass instead of distutils.bbclass

Koen Kooi k.kooi at student.utwente.nl
Mon Feb 15 13:50:12 UTC 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

After some discussion with Richard I committed this:

http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=fd4a161b6095f5b6f83d50d4d979000399944260

That seems to solve the sympoms I'm seeing, but the underlying problem
is still present.


On 15-02-10 11:13, Koen Kooi wrote:
> Hi,
> 
> I had a problem with building python-pygobject-native last week which
> was due to this bit in m4/python.m4
> 
> if test -x "$PYTHON-config"; then
> PYTHON_INCLUDES=`$PYTHON-config --includes 2>/dev/null`
> else
> PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
> if test "$py_prefix" != "$py_exec_prefix"; then
>   PYTHON_INCLUDES="$PYTHON_INCLUDES
> -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
>> fi
> fi
> 
> $PYTHON-config exists in staging and needs HOST_SYS, BUILDSYS,
> STAGING_LIBDIR and STAGING_INCDIR exported to work.
> 
> But after instrumenting python.m4 a bit I get this when running
> python-config:
> 
> Traceback (most recent call last):
>   File "/OE/angstrom-dev/staging/x86_64-linux/usr/bin/python-config",
> line 26, in <module>
>     pyver = sysconfig.get_config_var('VERSION')
>   File "/usr/lib/python2.5/distutils/sysconfig.py", line 541, in
> get_config_var
>     return get_config_vars().get(name)
>   File "/usr/lib/python2.5/distutils/sysconfig.py", line 499, in
> get_config_vars
>     func()
>   File "/usr/lib/python2.5/distutils/sysconfig.py", line 351, in _init_posix
>     filename = get_makefile_filename()
>   File "/usr/lib/python2.5/distutils/sysconfig.py", line 210, in
> get_makefile_filename
>     return os.path.join(lib_dir, "config" + (sys.pydebug and "_d" or
> ""), "Makefile")AttributeError: 'module' object has no attribute 'pydebug'
> 
> Which means it's using the distutils on my buildhost instead of the
> proper one in staging.
> 
> OE is doing this:
> 
> export
> PYTHONPATH=/OE/bitbake:/OE/bitbake/lib:/OE/bitbake-git/bin:/usr/lib/python2.5:/usr/lib/python2.5/plat-linux2:/usr/lib/python2.5/lib-tk:/usr/lib/python2.5/lib-dynload:/usr/local/lib/python2.5/site-packages:/usr/lib/python2.5/site-packages:/usr/lib/python2.5/site-packages/Numeric:/usr/lib/python2.5/site-packages/PIL:/usr/lib/pymodules/python2.5:/usr/lib/pymodules/python2.5/gtk-2.0
> 
> So I added this to the recipe:
> 
> do_configure_prepend() {
>        unset PYTHONPATH
> }
> 
> And everything started working again.
> 
> So my question is:
> 
> Can we set PYTHONPATH inside distutils-base.bbclass instead of
> distutils.bbclass or just plain unset it?
> 
> regards,
> 
> Koen
> 
> 
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFLeVEUMkyGM64RGpERAkhlAJ9OiETWdhQeDNIjCmlxDiF2nwW4UQCfWLL6
02mZF8nFVpFFDJe7xvxHyHY=
=rfuo
-----END PGP SIGNATURE-----





More information about the Openembedded-devel mailing list