[OE-core] Mis-generation of shell script (run.do_install)?

Richard Purdie richard.purdie at linuxfoundation.org
Tue Dec 11 15:02:51 UTC 2018


On Tue, 2018-12-11 at 08:42 -0500, Jason Andryuk wrote:
> Has anyone ever seen a generated shell script missing functions?
> 
> I have an OpenXT/OpenEmbedded setup where I had run many successful
> builds.  I made a change and then re-ran the build - it failed in
> binutil's do_install with autotools_do_install command not found.
> 
> core2-64-oe-linux/binutils/2.28-r0/temp/run.do_install.11776: line
> 124: autotools_do_install: command not found
> 
> Sure enough, autotools_do_install is not in run.do_install.
> 
> I had not changed binutils or any relevant variable, as far as I can
> tell.  If I run with '-e' I see the full autotools_do_install
> function in the output.  For some reason, the generated script wasn't
> including autotools_do_install.
> 
> I tried binutils -c cleansstate, but that didn't work.  I tried
> pruning the sstate-cache dir, but that didn't work.  I tried deleting
> tmp-glibc and sstate-cache, but it had the same error when I rebuilt.
> 
> Modifying binutils do_install by adding a comment and `true` lets it
> builds.
> 
> I saw something similar one other time where the generated script was
> missing a function.  I can't recall the details, but it was a
> different package and MACHINE.
> 
> Any suggestions on debugging this?

It sounds like pysh in bitbake wasn't able to see a dependency on the
function in question. Creating a small/reproducible test case would be
how I'd approach it, there are tests on the pysh code in bitbake-
selftest for example.

Once I had a test case which failed, I'd then use that to debug and see
if I could figure out a fix.

Cheers,

Richard



More information about the Openembedded-core mailing list