On Thu, Aug 12, 2010 at 2:29 PM, Rodney Lott <[email protected]> wrote:

> Hi, there.
>
> I am looking at the latest revision from org.openembedded.dev:
>
> =========================================
> rl...@rlott-desktop:~/git/oe/oe-meta/classes$ git log -1
> commit ad112ee1ce53dfaf3fa2d7a10a79f724c8dd6335
> Author: Martin Jansa <[email protected]>
> Date:   Thu Aug 12 22:28:35 2010 +0200
>
>    task-shr-feed: add supertux-qvga wesnoth
>
>    Signed-off-by: Martin Jansa <[email protected]>
> rl...@rlott-desktop:~/git/oe/oe-meta/classes$ git br
>  master
> * org.openembedded.dev
>  org.openembedded.stable
> ==========================================
>
> I am looking at the classes/python-dir.bbclass function:
>
> ==========================================
> def python_dir(d):
>    import os, bb
>    staging_incdir = bb.data.getVar( "STAGING_INCDIR", d, 1 )
>    for majmin in "2.6 2.5 2.4 2.3".split():
>        if os.path.exists( "%s/python%s" % ( staging_incdir, majmin ) ):
> return "python%s" % majmin
>    if not "python-native" in bb.data.getVar( "DEPENDS", d, 1 ).split():
>        raise Exception("No Python in STAGING_INCDIR. Forgot to build
> python-native?")
>    return "INVALID"
>
> PYTHON_DIR = "$...@python_dir(d)}"
> PYTHON_SITEPACKAGES_DIR = "${libdir}/${PYTHON_DIR}/site-packages"
> ==========================================
>
> Now, if I am reading this correctly, it would seem that the logic of this
> function is as follows, "Look for python directories in STAGING_INCDIR,
> starting from 2.6 downward, and use the first one I find."
>
> This works if one is only using one version of Python.  Let's say one is
> using Python 2.5 and Python 2.6 (i.e. for two different applications) and I
> am in the process of building something that I need to work with Python 2.6,
> it will set PYTHON_DIR to point to /usr/lib/python2.6/site-packages, which
> isn't what I want.
>
> So, my question is this:  Is it OE's assumption that one is only to use a
> single version of Python within one build (i.e. one tmp directory), or
> should it work with multiple Pythons per temp directory?  If it is the
> later, then it would seem to me that using STAGING_INCDIR to determine the
> Python version isn't a good idea and that the Python version one is using
> should be derived (somehow) from the PREFERRED_VERSION_python and
> PREFERRED_VERSION_python-native settings


Building multiple versions of *anything* in a single build is prone to
failure and problems.  Headers will step on one another's toes in staging
depending on the build order, etc.  Python is no exception.
-- 
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Reply via email to