2017-10-19 276 views
2

我在yocto覆盆子制作食谱。我想用git从服务器上获取一些文件。这是我的食谱:YOCTO:“错误:无法运行ssh:没有这样的文件或目录”

DESCRIPTION = "test" 
SECTION = "abc" 
LICENSE = "CLOSED" 
PR = "r0" 

SRC_URI = 
"git://gerrit.g1.abc.corp:29418/cardlog;protocol=ssh;rev=master" 
" 
PACKAGE_ARCH = "${MACHINE_ARCH}" 
S = "${WORKDIR}/git" 
inherit pkgconfig cmake 

do_install() { 
install -d ${D}${base_bindir} 
install -m 0755 cardlog ${D}${base_bindir} 
} 

当我bitbake的运行我得到这个错误信息:

ERROR: abc-cardlog-1.0-r0 do_fetch: 
Fetcher failure: 
Fetch command export DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-j365B7zbUr,guid=20e178f2b82d0bb8e57068dc59e83e63"; 
export SSH_AUTH_SOCK="/run/user/1000/keyring/ssh"; export no_proxy="localhost,127.0.0.0/8,::1"; 
export NO_PROXY="localhost,127.0.0.0/8,::1"; 
export PATH="/home/abc-int/Desktop/yocto_r/build-rpi/tmp/sysroots-uninative/x86_64-linux/usr/bin: 
/home/abc-int/Desktop/yocto_r/poky/scripts: 
/home/abc-int/Desktop/yocto_r/build-rpi/tmp/work/raspberrypi-poky-linux-gnueabi/abc-cardlog/1.0-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi: 
/home/abc-int/Desktop/yocto_r/build-rpi/tmp/work/raspberrypi-poky-linux-gnueabi/abc-cardlog/1.0-r0/recipe-sysroot/usr/bin/crossscripts: 
/home/abc-int/Desktop/yocto_r/build-rpi/tmp/work/raspberrypi-poky-linux-gnueabi/abc-cardlog/1.0-r0/recipe-sysroot-native/usr/sbin: 
/home/abc-int/Desktop/yocto_r/build-rpi/tmp/work/raspberrypi-poky-linux-gnueabi/abc-cardlog/1.0-r0/recipe-sysroot-native/usr/bin: 
/home/abc-int/Desktop/yocto_r/build-rpi/tmp/work/raspberrypi-poky-linux-gnueabi/abc-cardlog/1.0-r0/recipe-sysroot-native/sbin: 
/home/abc-int/Desktop/yocto_r/build-rpi/tmp/work/raspberrypi-poky-linux-gnueabi/abc-cardlog/1.0-r0/recipe-sysroot-native/bin: 
/home/abc-int/Desktop/yocto_r/poky/bitbake/bin:/home/abc-int/Desktop/yocto_r/build-rpi/tmp/hosttools"; 
export HOME="/home/abc-int"; git -c core.fsyncobjectfiles=0 ls-remote ssh://gerrit.g1.abc.corp:29418/cardlog failed with exit code 128, output: 

error: cannot run ssh: No such file or directory 
fatal: unable to fork 

ERROR: abc-cardlog-1.0-r0 do_fetch: Function failed: base_do_fetch 
ERROR: Logfile of failure stored in: /home/abc-int/Desktop/yocto_r/build-rpi/tmp/work/raspberrypi-poky-linux-gnueabi/abc-cardlog/1.0-r0/temp/log.do_fetch.16941 
ERROR: Task (/home/abc-int/Desktop/yocto_r/build-rpi/../poky/meta-abc/recipes-abc-cardlog/abc-cardlog/abc-cardlog.bb:do_fetch) failed with exit code '1' 

我已经成功运行在另一个Yocto计划这个食谱。我没有问题,我的文件从git下载成功。

我已将我的工作移至rasbberrypi板上。所以我创建了一个带有覆盆子图层的新yocto项目。我已经添加了我自己的图层。我试图只复制一些文件,用这个配方,一切工作正常。

有什么建议吗?

回答

1

我假设你使用的是摇滚。将可能解决您的问题的方法是将最新的上游版本的Rocko分支合并到您的poky目录中,例如通过执行git pull

我今天在处理同样的问题,bitbake找不到ssh的原因是,自从rocko开始,OpenEmbedded开发人员决定通过将PATH替换为包含符合“批准”本机二进制文件的符号链接的目录来清理构建环境。此批准的二进制文件列表由meta/conf/bitbake.conf中定义的HOSTTOOLS变量确定。有人不小心将ssh从该清单中删除,该清单自此得到修复。

+1

非常感谢。有效! –

相关问题