约克托:"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 从该列表中删除,该列表已被修复。

相关内容

最新更新