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


Richard Purdie
 

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

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

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?
This is odd. I removed the workspace from my local bblayers.conf. I executed:
bitbake -c cleansstate image
bitbake image
bitbake image -c populate_sdk_ext

I got the same error message as before. Also, the bblayers.conf in the tmp-
sdk-ext directory still contains the workspace directory in the BBLAYERS list.
I then switched and built core-image-minimal the same way, and I'm getting the
same error. I checked BBLAYERS in bitbake -e for core-image-minimal, and the
workspace directory is not listed. I don’t know how populate_sdk_ext is
pulling the workspace directory into BBLAYERS. Any ideas?
I suspect the eSDK adds a workspace for the devtool and similar workflows so
that piece may be normal and perhaps it was conflicting with your existing
workspace? I have to admit I don't remember if it does that or not offhand but
it could.

If that were the case, it is sounding like the conflict may be with some other
layer instead.

Cheers,

Richard

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