Сбой битбейка в do_rootfs: ни один из провайдеров не может быть установлен - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь создать образ контейнера, работающий с приложением tenorflow-lite. Это приложение также содержит примеры, которые я включил в пакеты

Сборка завершается с ошибкой do_rootfs из-за отсутствия зависимости. Вот ошибка, которую я получаю, dnf:

ERROR: container-tensorflow-lite-label-image-1.0-r0 do_rootfs: Could not invoke dnf. Command '/data/yocto/build/tmp/fullmetalupdate-containers/work/imx8mqevk-fullmetalupdatecontainers-linux/container-tensorflow-lite-label-image/1.0-r0/recipe-sysroot-native/usr/bin/dnf -v --rpmverbosity=info -y -c /data/yocto/build/tmp/fullmetalupdate-containers/work/imx8mqevk-fullmetalupdatecontainers-linux/container-tensorflow-lite-label-image/1.0-r0/rootfs/etc/dnf/dnf.conf --setopt=reposdir=/data/yocto/build/tmp/fullmetalupdate-containers/work/imx8mqevk-fullmetalupdatecontainers-linux/container-tensorflow-lite-label-image/1.0-r0/rootfs/etc/yum.repos.d --installroot=/data/yocto/build/tmp/fullmetalupdate-containers/work/imx8mqevk-fullmetalupdatecontainers-linux/container-tensorflow-lite-label-image/1.0-r0/rootfs --setopt=logdir=/data/yocto/build/tmp/fullmetalupdate-containers/work/imx8mqevk-fullmetalupdatecontainers-linux/container-tensorflow-lite-label-image/1.0-r0/temp --repofrompath=oe-repo,/data/yocto/build/tmp/fullmetalupdate-containers/work/imx8mqevk-fullmetalupdatecontainers-linux/container-tensorflow-lite-label-image/1.0-r0/oe-rootfs-repo -x busybox-syslog,busybox-udhcpc --nogpgcheck install tensorflow-lite-examples tensorflow-lite tensorflow-lite-staticdev' returned 1:
DNF version: 4.1.0

...

Error: 
 Problem: package tensorflow-lite-examples-1.14-r0.aarch64 requires libstdc++.so.6()(64bit), but none of the providers can be installed
  - package tensorflow-lite-examples-1.14-r0.aarch64 requires libstdc++.so.6(CXXABI_1.3)(64bit), but none of the providers can be installed
  - package tensorflow-lite-examples-1.14-r0.aarch64 requires libstdc++.so.6(GLIBCXX_3.4)(64bit), but none of the providers can be installed
  - package tensorflow-lite-examples-1.14-r0.aarch64 requires libstdc++.so.6(GLIBCXX_3.4.11)(64bit), but none of the providers can be installed
  - package tensorflow-lite-examples-1.14-r0.aarch64 requires libstdc++.so.6(GLIBCXX_3.4.14)(64bit), but none of the providers can be installed
  - package tensorflow-lite-examples-1.14-r0.aarch64 requires libstdc++.so.6(GLIBCXX_3.4.15)(64bit), but none of the providers can be installed
  - package tensorflow-lite-examples-1.14-r0.aarch64 requires libstdc++.so.6(GLIBCXX_3.4.20)(64bit), but none of the providers can be installed
  - package tensorflow-lite-examples-1.14-r0.aarch64 requires libstdc++.so.6(GLIBCXX_3.4.21)(64bit), but none of the providers can be installed
  - package tensorflow-lite-examples-1.14-r0.aarch64 requires libstdc++.so.6(GLIBCXX_3.4.9)(64bit), but none of the providers can be installed
  - package tensorflow-lite-examples-1.14-r0.aarch64 requires libstdc++.so.6(CXXABI_1.3.5)(64bit), but none of the providers can be installed
  - package tensorflow-lite-examples-1.14-r0.aarch64 requires libstdc++.so.6(GLIBCXX_3.4.18)(64bit), but none of the providers can be installed
  - package tensorflow-lite-examples-1.14-r0.aarch64 requires libstdc++.so.6(CXXABI_1.3.8)(64bit), but none of the providers can be installed
  - package tensorflow-lite-examples-1.14-r0.aarch64 requires libstdc++.so.6(GLIBCXX_3.4.19)(64bit), but none of the providers can be installed
  - package tensorflow-lite-examples-1.14-r0.aarch64 requires libstdc++.so.6(GLIBCXX_3.4.22)(64bit), but none of the providers can be installed
  - package tensorflow-lite-examples-1.14-r0.aarch64 requires libstdc++6 >= 8.3.0, but none of the providers can be installed
  - conflicting requests
  - nothing provides /bin/sh needed by libstdc++6-8.3.0-r0.aarch64

Я новичок в Yocto и не знаю, откуда go. Как я могу решить эту проблему?

Вот строка, связанная с зависимостями пакетов в моем рецепте тензорного потока:

RDEPENDS_${PN}-dev = "${PN}-staticdev"

PACKAGES += "${PN}-examples"

ALLOW_EMPTY_${PN} = "1"

FILES_${PN} = ""

FILES_${PN}-dev = " \
    ${includedir} \
"

FILES_${PN}-staticdev = " \
    ${libdir} \
"

FILES_${PN}-examples = " \
    ${bindir}/${PN} \
    ${bindir}/${PN}-${PV}/examples/label_image \
    ${bindir}/${PN}-${PV}/examples/grace_hopper.bmp \
    ${bindir}/${PN}-${PV}/examples/minimal \
    ${bindir}/${PN}-${PV}/examples/benchmark_model \
    ${bindir}/${PN}-${PV}/examples/mobilenet_v1_0.25_224.tflite \
    ${bindir}/${PN}-${PV}/examples/mobilenet_v1_0.25_224_quant.tflite \
    ${bindir}/${PN}-${PV}/examples/mobilenet_v1_1.0_224.tflite \
    ${bindir}/${PN}-${PV}/examples/mobilenet_v1_1.0_224_quant.tflite \
    ${bindir}/${PN}-${PV}/examples/mobilenet_quant_v1_224.tflite \
    ${bindir}/${PN}-${PV}/examples/labels.txt \
"

Заранее спасибо и, пожалуйста, спросите, нужна ли вам дополнительная информация.

1 Ответ

0 голосов
/ 03 марта 2020
nothing provides /bin/sh needed by libstdc++6-8.3.0-r0.aarch64

Возможно, вам просто нужно добавить bash к вашему изображению (в local.conf):

IMAGE_INSTALL_append = " bash"
...