繁体   English   中英

YOCTO:“错误:无法运行 ssh:没有这样的文件或目录”

[英]YOCTO: "error: cannot run ssh: No such file or directory"

我正在用 yocto 覆盆子做一个食谱。 我想用 git 从服务器获取一些文件。 这是我的食谱:

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 项目。 我已经添加了我自己的层。 我试着用这个食谱复制一些文件,一切正常。

请问有什么建议吗?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM