Я бьюсь головой об стену от этого - в основном потому, что я действительно новичок в 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 не так много об этой ошибке: /