Re: Problems building eSDK: Exception: variable BBFILES references itself!


Richard Purdie
 

On Wed, 2022-02-09 at 19:36 +0000, Bryan Evenson wrote:
Richard,

-----Original Message-----
From: Richard Purdie <richard.purdie@...>
Sent: Wednesday, February 9, 2022 1:51 PM
To: Bryan Evenson <bevenson@...>;
yocto@...
Subject: Re: [yocto] Problems building eSDK: Exception: variable BBFILES
references itself!

On Wed, 2022-02-09 at 18:10 +0000, Bryan Evenson wrote:
Richard,

-----Original Message-----
From: Richard Purdie <richard.purdie@...>
Sent: Wednesday, February 9, 2022 12:25 PM
To: Bryan Evenson <bevenson@...>;
yocto@...
Subject: Re: [yocto] Problems building eSDK: Exception: variable
BBFILES references itself!

On Wed, 2022-02-09 at 16:51 +0000, Bryan Evenson wrote:
All,

I've used the SDK in the past and want to start using the eSDK for
my
project.
I'm on the dunfell branch. I'm trying to build the eSDK for my
image by
calling:

bitbake <my_image_name> -c populate_sdk_ext

The sdk generation fails with the error in the subject. I haven't
been able to find any documentation on what this means or how to
fix it. I've tried deleting my tmp directory and running
cleansstate on my image and I still get the same error. I've also
tried generating the eSDK for core-image-minimal and I have the
same error. I can generate the SDK successfully, just not the
eSDK. I have copied more of the build output below if it helps.
Note that I have replaced some text that I'm paranoid about
publishing on the internet; the modified text is
enclosed with <>.

Does anyone have any insight as to why the eSDK build is failing?
Could you share what bitbake -e shows BBFILES as being set to? The
variable history from that command for the variable may also be helpful.

There has to be something different to how you're setting it
compared to what we test on the autobuilder.

Cheers,

Richard
Here's what I was able to pull from bitbake -e. I've included details
for both BBFILES and BBFILES_DYNAMIC. Let me know if anything else
would be helpful.
Thanks, I'm not seeing anything too odd there. I guess next we need to see
the bblayers.conf that the code is building into the eSDK and compare it to
your original conf/bblayer.conf.

The generated file should be in the eSDK image directory somewhere, I'm
not able to look up the exact path right now. Let me know if you can't find it.
Lets see if the two bblayers.conf files look different and introduce some
issue.
I think I found what you were looking for under the image tmp working directory at sdk-ext/image/temp-renamed-sdk/conf/bblayers.conf. Here's a comparison of my original bblayers.conf in my tmp directory and the generated bblayers.conf for the eSDK. I confirmed that the layers directory is present and contains all the layers as listed in the generated bblayers.conf.

#########################################################################
#
# Contents of my original bblayers.conf
#
#########################################################################
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"

BBPATH = "${TOPDIR}"
BBFILES ?= ""

BBLAYERS ?= " \
<my_home_dir>/poky/<my_custom_layer1> \
<my_home_dir>/poky/<my_custom_layer2> \
<my_home_dir>/poky/meta-bacnet \
<my_home_dir>/poky/meta-atmel \
<my_home_dir>/poky/meta \
<my_home_dir>/poky/meta-poky \
<my_home_dir>/poky/meta-yocto-bsp \
<my_home_dir>/poky/meta-openembedded/meta-oe \
<my_home_dir>/poky/meta-openembedded/meta-networking \
<my_home_dir>/poky/meta-openembedded/meta-python \
<my_home_dir>/poky/poky-build/workspace \
"
BBLAYERS_NON_REMOVABLE ?= " \
<my_home_dir>/poky/meta \
<my_home_dir>/poky/meta-poky \
"

#########################################################################
#
# Contents of my <img_tmp_work_dir>/sdk-ext/image/tmp-renamed-sdk/conf/bblayers.conf
#
#########################################################################
# WARNING: this configuration has been automatically generated and in
# most cases should not be edited. If you need more flexibility than
# this configuration provides, it is strongly suggested that you set
# up a proper instance of the full build system and use that instead.

BBPATH = "${TOPDIR}"
SDKBASEMETAPATH = "${TOPDIR}"
BBLAYERS := " \
${SDKBASEMETAPATH}/layers/poky/<my_custom_layer1> \
${SDKBASEMETAPATH}/layers/poky/<my_custom_layer2> \
${SDKBASEMETAPATH}/layers/poky/meta-bacnet \
${SDKBASEMETAPATH}/layers/poky/meta-atmel \
${SDKBASEMETAPATH}/layers/poky/meta \
${SDKBASEMETAPATH}/layers/poky/meta-poky \
${SDKBASEMETAPATH}/layers/poky/meta-yocto-bsp \
${SDKBASEMETAPATH}/layers/poky/meta-openembedded/meta-oe \
${SDKBASEMETAPATH}/layers/poky/meta-openembedded/meta-networking \
${SDKBASEMETAPATH}/layers/poky/meta-openembedded/meta-python \
${SDKBASEMETAPATH}/workspace \
"

Let me know if anything else would be helpful for diagnosing this issue.
I'm now wondering what happens if you remove  

<my_home_dir>/poky/poky-build/workspace \

since I suspect your local workspace probably doesn't make sense in the eSDK?
Could you try temporarily removing that and see if that helps?

The BBFILES entry in one of these layer.conf files is probably causing some
issue but I can't easily know which one. You could remove some of the other
layers to try and see if you identify where the issue is from too?

Cheers,

Richard

Join yocto@lists.yoctoproject.org to automatically receive all group messages.