在这件事上,我的头撞到了墙上——主要是因为我对Yocto真的是个新手,刚刚开始着手处理事情。我一直在构建github.com/EttusResearch/oe-manifests的图像,并且已经成功
现在,我想添加tensorflow作为一个包,避免了bazel和java的依赖性,我决定使用armv7的whl创建一个自己的配方
我关注了这篇文章:Yocto recipe python whl package
并使用此whl回购:https://github.com/lhelontra/tensorflow-on-arm/releases
我创建了一个图层,然后添加了一个名为tensorflow_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确实可以编译,但需要检查的代码很多。以前有人见过这个吗?关于这个错误,谷歌没有提供太多信息:/
Bitbake有一个工具可以创建具有依赖项树的文件
或者,对于特定配方:
有一个专用工具也可以显示这些树,比如kgraphviewer和在线工具。 我个人只是用文本编辑器打开这些文件,它们很容易阅读
只需在文件中搜索“virtual/x86_64-oesdk-linux-compilerlibs”,看看谁需要它
希望这有帮助
相关问题 更多 >
编程相关推荐