This service is available only in Japanese-language.

meta-oeレイヤの組み込みについて教えてください

いつもお世話になっております。
当方のターゲット環境は、Renesas RZ/G2L評価ボード「RTK9744L27S01000BE」を使用しています。
ソフトウェアはRZ/G Verified Linux Package Version 3.0.3(DISTRO_VERSION = "3.1.21")です。

以下にて、レイヤ「meta-oe」を組み込み際にエラーが発生しております。
つきましては対処方法をご教授いただけると幸いです。

「meta-oe」レイヤーは「meta-openembedded」以下に配置されているのを確認した為、
buildディレクトリにて以下を実行しました。

======================================
bitbake-layers add-layer ../meta-openembedded/meta-oe
======================================

結果、以下の様なエラーが返ってきておりレイヤーが重複していると読めるのですが、
どこの「bblayers.conf」や「layer.conf」を確認するべきでしょうか?
対処方法をご教授いただけると幸いです。

======================================
ERROR: Found duplicated BBFILE_COLLECTIONS 'openembedded-layer', check bblayers.conf or layer.conf to fix it.
ERROR: Parse failure with the specified layer added, aborting.
======================================

以上、お手数をお掛けしますが、宜しくお願いします。

本件回答いたします。

meta-oeを2回追加した場合でも下記のようなエラーは発生しません。

======================================
ERROR: Found duplicated BBFILE_COLLECTIONS 'openembedded-layer', check bblayers.conf or layer.conf to fix it.
ERROR: Parse failure with the specified layer added, aborting.
======================================

通常では発生しないはずのエラーとなります。

試しに、`build/conf/bblayers.conf`に下記の行を手動で追加してみました。

======================================
BBFILE_COLLECTIONS += "openembedded-layer"
======================================

その上で、bitbake-layers add-layerを実行すると下記のようなエラーは発生しました。

======================================
$ bitbake-layers add-layer ../poky/meta-openembedded/meta-oe
NOTE: Starting bitbake server...
ERROR: Found duplicated BBFILE_COLLECTIONS 'openembedded-layer', check bblayers.conf or layer.conf to fix it.
ERROR: Found duplicated BBFILE_COLLECTIONS 'openembedded-layer', check bblayers.conf or layer.conf to fix it.
======================================

全く同じエラーメッセージではありませんが、本質は同じように思います。

ですので、下記の点をご確認いただきたく存じます。

1. build/conf/bblayers.confに「BBFILE_COLLECTIONS += "openembedded-layer"」が存在する
2. meta-oe/conf/layers.confに「BBFILE_COLLECTIONS += "openembedded-layer"」が2つ以上存在する
3. bitbake-layers show-layersで表示されるレイヤのlayers.confに「BBFILE_COLLECTIONS += "openembedded-layer"」が存在する

これらのどれかに当てはまると、当該のエラーが発生すると推測されます。

ご回答ありがとうございます。
アドバイス頂いた点について実施してみました。
結果としては以下の通りとなり、ご推察頂いた状態にはなっていないようです。
1.「BBFILE_COLLECTIONS += "openembedded-layer"」はなし
2.「BBFILE_COLLECTIONS += "openembedded-layer"」は一か所
3.「BBFILE_COLLECTIONS += "openembedded-layer"」はなし

当方、他のレイヤの組み込みも行っている為、何を行った後に発生するようになるのかを確認してみようと思います。

以上よろしくお願いいたします。

以下は実施結果です。

確認【1. build/conf/bblayers.confに「BBFILE_COLLECTIONS += "openembedded-layer"」が存在する】
=====================================================
$ cat build/conf/bblayers.conf
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"

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

BBLAYERS ?= " \
${TOPDIR}/../meta-gplv2 \
${TOPDIR}/../poky/meta \
${TOPDIR}/../poky/meta-poky \
${TOPDIR}/../poky/meta-yocto-bsp \
${TOPDIR}/../meta-renesas/meta-rz-common \
${TOPDIR}/../meta-renesas/meta-rzg2l \
${TOPDIR}/../meta-openembedded/meta-oe \
${TOPDIR}/../meta-openembedded/meta-python \
${TOPDIR}/../meta-openembedded/meta-multimedia \
/home/takahiro/work/meta-qt5 \
/home/takahiro/work/meta-rz-features/meta-rz-graphics \
/home/takahiro/work/meta-rz-features/meta-rz-codecs \
/home/takahiro/work/meta-openembedded/meta-filesystems \
/home/takahiro/work/meta-openembedded/meta-networking \
/home/takahiro/work/meta-virtualization \
"
=====================================================

確認【2. meta-oe/conf/layers.confに「BBFILE_COLLECTIONS += "openembedded-layer"」が2つ以上存在する】
=====================================================
$ cat meta-openembedded/meta-oe/conf/layer.conf
# It really depends on order of the layers appearing in BBLAYERS
# variable in toplevel bblayers.conf file, where bitbake will search
# for .inc files and others where bitbake uses BBPATH since it will
# search the directories from first to last as specified in BBPATH
# Therefore if you want a given layer to be considered high priority
# for the .inc and .conf etc. then consider it adding at the beginning
# of BBPATH. For bblayers bitbake will use BBFILES_PRIORITY to resolve
# the recipe contention so the order of directories in BBFILES does
# not matter.

# We have a conf and classes directory, append to BBPATH
BBPATH .= ":${LAYERDIR}"

# We have a recipes directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"

BBFILE_COLLECTIONS += "openembedded-layer"
BBFILE_PATTERN_openembedded-layer := "^${LAYERDIR}/"

# Define the priority for recipes (.bb files) from this layer,
# choosing carefully how this layer interacts with all of the
# other layers.

BBFILE_PRIORITY_openembedded-layer = "6"

# only activates content when identified layers are present,
# to ensure yocto compatibility check pass
BBFILES_DYNAMIC += " \
meta-python:${LAYERDIR}/dynamic-layers/meta-python/recipes-*/*/*.bb \
perl-layer:${LAYERDIR}/dynamic-layers/perl-layer/recipes-*/*/*.bb \
"

# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_openembedded-layer = "1"

LAYERDEPENDS_openembedded-layer = "core"

LAYERSERIES_COMPAT_openembedded-layer = "thud warrior zeus dunfell"

LICENSE_PATH += "${LAYERDIR}/licenses"

PREFERRED_RPROVIDER_libdevmapper = "lvm2"

SIGGEN_EXCLUDERECIPES_ABISAFE += " \
mplayer-common \
fbset-modes \
gpsd-machine-conf \
distro-feed-configs \
ca-certificates \
pointercal \
"

SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
android-tools->android-tools-conf \
usb-modeswitch-data->usb-modeswitch \
lmsensors->lmsensors-config \
phoronix-test-suite->bash \
phoronix-test-suite->python3 \
phoronix-test-suite->php \
phoronix-test-suite->lsb-release \
phoronix-test-suite->util-linux \
phoronix-test-suite->busybox \
phoronix-test-suite->shared-mime-info \
phoronix-test-suite->desktop-file-utils \
"

# ttf.inc inherits fontcache which adds fontconfig-utils to RDEPENDS
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
terminus-font->fontconfig \
ttf-abyssinica->fontconfig \
ttf-arphic-uming->fontconfig \
ttf-dejavu->fontconfig \
ttf-droid->fontconfig \
ttf-gentium->fontconfig \
ttf-hunkyfonts->fontconfig \
ttf-inconsolata->fontconfig \
ttf-liberation->fontconfig \
ttf-liberation-sans-narrow->fontconfig \
ttf-lklug->fontconfig \
ttf-lohit->fontconfig \
ttf-noto-emoji->fontconfig \
ttf-pt-sans->fontconfig \
ttf-roboto->fontconfig \
ttf-mplus->fontconfig \
ttf-sazanami->fontconfig \
ttf-tlwg->fontconfig \
ttf-ubuntu-font-family->fontconfig \
ttf-vlgothic->fontconfig \
ttf-wqy-zenhei->fontconfig \
source-han-sans-cn-fonts->fontconfig \
source-han-sans-jp-fonts->fontconfig \
source-han-sans-kr-fonts->fontconfig \
source-han-sans-tw-fonts->fontconfig \
"

DEFAULT_TEST_SUITES_pn-meta-oe-ptest-image = " ${PTESTTESTSUITE}"
=====================================================

確認【3. bitbake-layers show-layersで表示されるレイヤのlayers.confに「BBFILE_COLLECTIONS += "openembedded-layer"」が存在する】
=====================================================
$ bitbake-layers show-layers
NOTE: Starting bitbake server...
layer path priority
==========================================================================
meta-gplv2 /home/takahiro/work/build/../meta-gplv2 1
meta /home/takahiro/work/build/../poky/meta 5
meta-poky /home/takahiro/work/build/../poky/meta-poky 5
meta-yocto-bsp /home/takahiro/work/build/../poky/meta-yocto-bsp 5
meta-rz-common /home/takahiro/work/build/../meta-renesas/meta-rz-common 15
meta-rzg2l /home/takahiro/work/build/../meta-renesas/meta-rzg2l 15
meta-oe /home/takahiro/work/build/../meta-openembedded/meta-oe 6
meta-python /home/takahiro/work/build/../meta-openembedded/meta-python 7
meta-multimedia /home/takahiro/work/build/../meta-openembedded/meta-multimedia 6
meta-qt5 /home/takahiro/work/meta-qt5 7
meta-rz-graphics /home/takahiro/work/meta-rz-features/meta-rz-graphics 16
meta-rz-codecs /home/takahiro/work/meta-rz-features/meta-rz-codecs 16
meta-filesystems /home/takahiro/work/meta-openembedded/meta-filesystems 6
meta-networking /home/takahiro/work/meta-openembedded/meta-networking 5
meta-virtualization /home/takahiro/work/meta-virtualization 8
=====================================================

takahiroさまの下記の実行結果を見ますとすでにmeta-oeは登録されています。

> 確認【3. bitbake-layers show-layersで表示されるレイヤのlayers.confに「BBFILE_COLLECTIONS += "openembedded-layer"」が存在する】
==========================================================================
meta-gplv2 /home/takahiro/work/build/../meta-gplv2 1
meta /home/takahiro/work/build/../poky/meta 5
meta-poky /home/takahiro/work/build/../poky/meta-poky 5
meta-yocto-bsp /home/takahiro/work/build/../poky/meta-yocto-bsp 5
meta-rz-common /home/takahiro/work/build/../meta-renesas/meta-rz-common 15
meta-rzg2l /home/takahiro/work/build/../meta-renesas/meta-rzg2l 15
meta-oe /home/takahiro/work/build/../meta-openembedded/meta-oe 6 ★ココ★
meta-python /home/takahiro/work/build/../meta-openembedded/meta-python 7
meta-multimedia /home/takahiro/work/build/../meta-openembedded/meta-multimedia 6
meta-qt5 /home/takahiro/work/meta-qt5 7
meta-rz-graphics /home/takahiro/work/meta-rz-features/meta-rz-graphics 16
meta-rz-codecs /home/takahiro/work/meta-rz-features/meta-rz-codecs 16
meta-filesystems /home/takahiro/work/meta-openembedded/meta-filesystems 6
meta-networking /home/takahiro/work/meta-openembedded/meta-networking 5
meta-virtualization /home/takahiro/work/meta-virtualization 8
=====================================================

当方の環境で試しに、登録されているmeta-oeと別の場所にもmeta-oeと配置し、bitbake-layers add-layersを試してみました。
=====================================================
$ bitbake-layers add-layer ../meta-openembedded/meta-oe/
NOTE: Starting bitbake server...
ERROR: Found duplicated BBFILE_COLLECTIONS 'openembedded-layer', check bblayers.conf or layer.conf to fix it.
ERROR: Parse failure with the specified layer added, exiting.
=====================================================

最初の投稿と同様のエラーが発生することが確認できました。
======================================
ERROR: Found duplicated BBFILE_COLLECTIONS 'openembedded-layer', check bblayers.conf or layer.conf to fix it.
ERROR: Parse failure with the specified layer added, aborting.
======================================
登録済みのレイヤと同じものを別の場所に配置して再登録しようとするとこのエラーになるようです。

みつきん様、ご回答ありがとうございます。

今回使用している環境は、「RZ/G Verified Linux Package Version 3.0.3(DISTRO_VERSION = "3.1.21")」ですので、
新規で起こしたそのままの環境にて、ビルド初期化スクリプトだけ走らせてみました。
結果としては、みつきん様のご指摘通り、この時点でレイヤ「meta-oe」が含まれている環境であることがわかりました。

今回、レイヤ「meta-oe」を追加しようとした経緯は「hiredis」を追加する為でした。(https://yoctobbq.lineo.co.jp/?q=node/496
その時点でレイヤ「meta-oe」含まれているか確認せずに「bitbake-layers add-layer」を行う様に自作スクリプトを変更した結果でした。

今回の経験で現在のレイヤ構成を確認する方法を知ることが出来ました。

以上、大変お手数をお掛けしました。ありがとうございました。本件クローズとなります。

以下、確認した結果です。

ビルド初期化スクリプトを実行します。
==============================================================================
$TEMPLATECONF=$PWD/meta-renesas/meta-rzg2l/docs/template/conf/ source ./poky/oe-init-build-env build

Start initializing the build environment ...
You had no conf/local.conf file. This configuration file has therefore been
created for you with some default values. You may wish to edit it to, for
example, select a different MACHINE (target hardware). See conf/local.conf
for more information as common configuration options are commented.

You had no conf/bblayers.conf file. This configuration file has therefore been
created for you with some default values. To add additional metadata layers
into your configuration please add entries to conf/bblayers.conf.

The Yocto Project has extensive documentation about OE including a reference
manual which can be found at:
https://docs.yoctoproject.org

For more information about OpenEmbedded see their website:
https://www.openembedded.org/

### Shell environment set up for builds. ###

You can now run 'bitbake <target>'

Targets are:
core-image-minimal
core-image-bsp
core-image-weston
core-image-qt
==============================================================================

レイヤ構成を確認します。既に「mea-oe」が含まれています。
==============================================================================
$ bitbake-layers show-layers
NOTE: Starting bitbake server...
layer path priority
==========================================================================
meta-gplv2 /home/takahiro/work/build/../meta-gplv2 1
meta /home/takahiro/work/build/../poky/meta 5
meta-poky /home/takahiro/work/build/../poky/meta-poky 5
meta-yocto-bsp /home/takahiro/work/build/../poky/meta-yocto-bsp 5
meta-rz-common /home/takahiro/work/build/../meta-renesas/meta-rz-common 15
meta-rzg2l /home/takahiro/work/build/../meta-renesas/meta-rzg2l 15
meta-oe /home/takahiro/work/build/../meta-openembedded/meta-oe 6 ★ココ★
meta-python /home/takahiro/work/build/../meta-openembedded/meta-python 7
meta-multimedia /home/takahiro/work/build/../meta-openembedded/meta-multimedia 6
==============================================================================