НИЧЕГО НЕ ПРЕДОСТАВЛЯЕТ 'virtual / x86_64-oesdk- linux -compilerlibs' - PullRequest
0 голосов
/ 27 февраля 2020

Я бьюсь головой об стену от этого - в основном потому, что я действительно новичок в Yocto и просто вхожу в ход событий. Я создавал образ github.com/EttusResearch/oe-manifests и был успешно.

Теперь я хотел бы добавить тензор потока в качестве пакета, избегая его зависимости от bazel и java, который я решил создать свой собственный рецепт, используя whl для armv7.

Я следил за этой статьей: Yocto recipe python whl package

И использовал это whl репо : https://github.com/lhelontra/tensorflow-on-arm/releases

Я создал слой, а затем добавил рецепт, названный tenorflow_2.0.0.bb, который содержит:


SRC_URI = "https://github.com/lhelontra/tensorflow-on-arm/releases/download/v2.0.0/tensorflow-2.0.0-cp37-none-linux_armv7l.whl;downloadfilename=v2.0.0.zip;subdir=${BP}"

SRC_URI[md5sum] = "0af281677f40e4aa1da7bb1b2ba72e18"
SRC_URI[sha256sum] = "3cb1be51fe3081924ddbe69e92a51780458accafd12e39482a872b27b3afff8c"


LICENSE = "BSD-3-Clause"
inherit nativesdk python3-dir                                                                       

LIC_FILES_CHKSUM = "file:///${S}/tensorflow-2.0.0.dist-info/LICENSE;md5=64a34301f8e355f57ec992c2af3e5157"

PV ="2.0.0"                                                                                        
PN = "tensorflow"                                                                 

do_unpack[depends] += "unzip-native:do_populate_sysroot"                                            

PROVIDES += "tensorflow"                                                          
DEPENDS += "python3"                                                                     

FILES_${PN} += "\                                                                                   
    ${libdir}/${PYTHON_DIR}/site-packages/* \                                                       
"                                                                                                   

do_install() {                                                                                      
    install -d ${D}${libdir}/${PYTHON_DIR}/site-packages/tensorflow-2.0.0.dist-info                 
    install -d ${D}${libdir}/${PYTHON_DIR}/site-packages/tensorflow                                

    install -m 644 ${S}/tensorflow/* ${D}${libdir}/${PYTHON_DIR}/site-packages/tensorflow/          
    install -m 644 ${S}/tensorflow-2.0.0.dist-info/* ${D}${libdir}/${PYTHON_DIR}/site-packages/tensorflow-2.0.0.dist-info/
}

Проблема в том, что во время создания этого рецепта я получаю следующую ошибку:

ERROR: Nothing PROVIDES 'virtual/x86_64-oesdk-linux-compilerlibs' (but /home/sudilav/oe-core/../meta-tensorflow/recipes-devtools/tensorflow/tensorflow_2.0.0.bb DEPENDS on or otherwise requires it). Close matches:
  virtual/nativesdk-x86_64-oesdk-linux-compilerlibs
  virtual/x86_64-oesdk-linux-go-crosssdk
  virtual/x86_64-oesdk-linux-gcc-crosssdk
ERROR: Required build target 'tensorflow' has no buildable providers.
Missing or unbuildable dependency chain was: ['tensorflow', 'virtual/x86_64-oesdk-linux-compilerlibs']

Учитывая, что я загружаю и разархивирую whl, я не могу понять, почему он отмечает эти зависимости. Я думаю, что WHL компилируется, но это большой код для проверки. Кто-нибудь видел это раньше? От Google не так много об этой ошибке: /

1 Ответ

0 голосов
/ 01 марта 2020

В Bitbake есть инструмент для создания файла с деревом зависимостей.

bitbake -g

или, для конкретного c рецепта:

bitbake -g {recipe name}

Также есть специальный инструмент показать эти деревья, как kgraphviewer, а также онлайн-инструменты. Лично я просто открываю эти файлы в текстовом редакторе, они довольно легко читаются.

Просто поищите в файле «virtual / x86_64-oesdk- linux -compilerlibs» и посмотрите, кому это нужно.

Надеюсь, это поможет.

...