没有提供“虚拟/x86\u 64oesdklinuxcompilerlibs”

2024-10-03 06:26:23 发布

您现在位置:Python中文网/ 问答频道 /正文

在这件事上,我的头撞到了墙上——主要是因为我对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确实可以编译,但需要检查的代码很多。以前有人见过这个吗?关于这个错误,谷歌没有提供太多信息:/


Tags: installinfogithubcomlinuxpackagesdisttensorflow
1条回答
网友
1楼 · 发布于 2024-10-03 06:26:23

Bitbake有一个工具可以创建具有依赖项树的文件

bitbake -g

或者,对于特定配方:

bitbake -g {recipe name}

有一个专用工具也可以显示这些树,比如kgraphviewer和在线工具。 我个人只是用文本编辑器打开这些文件,它们很容易阅读

只需在文件中搜索“virtual/x86_64-oesdk-linux-compilerlibs”,看看谁需要它

希望这有帮助

相关问题 更多 >