2017-10-19 100 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

非常感謝。有效! –

相關問題