[U-Boot] Python subprocess module missing in multiconfig.py

Marek Vasut
2014-08-07T20:14:14Z

On Thursday, August 07, 2014 at 10:02:54 PM, Jeroen Hofstee wrote:
> Hello Tom,
>
> On 07-08-14 21:43, Tom Rini wrote:
> > On Thu, Aug 07, 2014 at 09:37:22PM +0200, Jeroen Hofstee wrote:
> >> Hello Tom,
> >>
> >> On 07-08-14 21:08, Tom Rini wrote:
> >>> On Thu, Aug 07, 2014 at 12:11:41PM -0400, david at plentovichdesign.com
wrote:
> >>>> Hello. I read the posts a couple days ago about the Python issues
> >>>> with Kconfig feature. I didn't see a resolution on how this would be
> >>>> fixed. I am running Ubuntu 14.04LTS, building u-boot and the problem
> >>>> I have is that the eldk tools have a older python (2.7.3) which does
> >>>> not have the subprocess module but the current Ubuntu python (2.7.6)
> >>>> does include the subprocess module. When I add the eldk (cross
> >>>> compiler) path before my env $PATH the defconfig fails in
> >>>> multiconfig.py (uses the python in the eldk toolkit). Can I just
> >>>> remove python from the eldk tools (so the newer python will be used)
> >>>> or is that older python version required for some other script in the
> >>>> cross compiler?
> >>>>
> >>>> pdavid at david-TECRA-A8:~$ python
> >>>> Python 2.7.6 (default, Mar 22 2014, 22:59:38)
> >>>> [GCC 4.8.2] on linux2
> >>>> Type "help", "copyright", "credits" or "license" for more information.
> >>>>
> >>>>>>> import subprocess
> >>>>
> >>>> [1]+ Stopped python
> >>>> david at david-TECRA-A8:~$ export
> >>>> PATH=/opt/eldk-5.5/armv5te/sysroots/i686-eldk-linux/usr/bin:/opt/eldk-
> >>>> 5.5/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi:/op
> >>>> t/eldk-5.5/armv5te/sysroots/i686-eldk-linux/usr/sbin:/opt/eldk-5.5/arm
> >>>> v5te/sysroots/i686-eldk-linux/usr/sbin/armv5te-linux-gnueabi:$PATH
> >>>
> >>> You only need
> >>> /opt/eldk-5.5/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gn
> >>> ueabi to be added to your PATH to compile U-Boot (or the kernel). I
> >>> don't know why OpenEmbedded-based SDKs default to such a stripped down
> >>> Python2 installation.
> >>
> >> Because it is unneeded bloat? Adding a DEPENDS to the U-boot recipe
> >> for python-subprocess and python-xyz and rebuilding the sdk should fix
> >> this I guess.
> >
> > Putting on my OE-guy hat, if we're shipping a host python for some good
> > reason, it should be as useful as a stock python install on
> > desktop-or-server-distro-du-jour. I did some quick poking when I first
> > hit this and it seems the OE one ships with almost nothing for external
> > modules which made me question why it's even shipped.
>
> Well putting on my small, tiny OE user head, you need to spell out
> every python-module you use. To make it a bit more funny there are
> likely grouped, so don't be surprised this is python-system or something.
> I am in the impression the nativesdk uses the same recipes where
> possible, so hence needs to be rebuild with explicit DEPENDS (unless
> you got luckily that a recipe before u-boot included it.) Anyway there
> are a lot more people on the list who know this a lot better, Marex?

Thanks for CCing me.

I sent a patch to OE-core to ship the python modules. This is a problem with the
Yocto Qt SDK toolchain in general and you can track the mayhem at [1]. There
will likely be ELDK 5.5.3 once this is all settled.

btw. you should update to ELDK 5.5.2 in the first place, since the compiler in
Yocto 1.5.0 did have trouble with code generation [2], [3].

[1] http://lists.openembedded.org/pipermail/openembedded-core/2014-
August/095470.html
[2] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58854
[3]http://lists.openembedded.org/pipermail/openembedded-core/2014-
February/089489.html

Best regards,
Marek Vasut