[yocto] Can't find guile-2.0

Burton, Ross ross.burton at intel.com
Thu Mar 21 02:53:44 PDT 2013


Hi Paul,

On 21 March 2013 06:48, Paul D. DeRocco <pderocco at ix.netcom.com> wrote:
> In the metadata trees, meta-openembedded/meta-oe has recipes called
> "guile_1.8.7.bb" and "guile-native_1.8.7.bb". poky-danny-8.0/meta and
> openembedded-core/meta both have recipes called "guile_2.0.6.bb". The latter
> has some extra junk in it I don't understand. Nothing has a recipe called
> "guile-native_2.0.6.bb".

Ah ha!

poky contains a copy of oe-core, so you don't need both, for a given
version the meta/ directories will be identical (poky is the union of
oe-core, bitbake, and meta-yocto).

I'd forgotten that meta-oe used to have guile in. Presumably the
problem here is that autogen-native wants guile-native and it finds
guile-native_1.8.7 before realising that guile_2.0.7 can also do a
native build (that's what BBCLASSEXTEND=native does).

Try using BBMASK to hide the guile in meta-oe.  Add this to your local.conf:

BBMASK = "meta-oe/recipes-support/guile"

> So let me see if I understand the problem. Everything worked fine when I
> built the standard image, but I started having problems when I pulled in a
> couple of repositories from OpenEmbedded so that I could add a Samba server.
> Something in the layers I added needs to run a tool called autogen, so it
> tries to do a native build of autogen-5.12-r3. In the process of configuring
> that, it needs access to guile-2.0.6, but it can't find it, so it quits. Is
> it looking to run guile, or is it looking for a native version of the guile
> library to link into autogen? Somehow, I've got the source for this version
> of guile, but nothing is building it, and there is no recipe for it. Where
> is the recipe supposed to be found? Or is this simply a tool that I'm
> supposed to have on my machine in the first place, and bitbake doesn't try
> to build it?

The root cause is normally needing to build grub.  grub needs
autogen-native which needs guile-native, as it uses guile.  We don't
assume guile exists on the host, so will always build it ourselves.

Normally guile_2.0.6.bb can do both cross and native builds.  It
appears that meta-oe has an older version of guile with an explicit
guile-native name, which is selected before the newer version in
oe-core.  This is the root of the problem, and the BBMASK should cause
it to ignore that recipe.  I've just submitted a patch to remove this
guile from meta-oe, as it's just causing trouble.

Ross



More information about the yocto mailing list