关于 Poky 中 tcf-agent_git.bb 中错误的 URI

coo*_*lee 4 eclipse yocto petalinux

我是新手,尝试通过 pocto 构建 xilinx。作为指南,我克隆了存储库(分支重击),源 oe-... 并更改MACHINE="zedborad-zynq7",然后bitbake petalinux-image-minimal,但出现以下错误:

错误:tcf-agent-1.7.0+gitAUTOINC+dad3a6f568-r0 do_fetch:Fetcher 失败:Fetch 命令... https://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git refs/ :refs/失败,退出代码为 128,输出:fatal: repository ' https://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git/ ' not found ... ERROR: Task (~ /poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb:do_fetch) 失败,退出代码为“1”

问题在于 tcf-agent_git.bb 中的语句:

SRC_URI = "git://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent \
Run Code Online (Sandbox Code Playgroud)

这不是错误的地址,事实上,我可以使用这个地址成功克隆。另一方面,我对此变量的任何修改也不起作用。我已经grep -rn "eclipse.org",但只找到这个文件。

欢迎任何建议。

非常感谢。

—————————————————————————————

我最终无法解决这个问题。我发现构建器根本不从 SRC_URL 提供的地址中获取,而是从某处给定的镜像中获取。

作为测试,我编辑了 .bb 文件,添加了 PREMIRRORS="" 和 MIRROS="",并为 SRC_URI 添加了 protocal=git 语句。语句确实有效,builder从SRC_URL地址中获取,但是协议还是HTTPS,功能还是失败。我的解决办法是手动克隆源码,放到对应的目录下,为了让builder知道这一点,我也在同一个目录下touch了一个package_name.done和chmod 777,然后就可以继续了。

小智 6

我在使用 Xilinx Yocto 堆栈(rel-v2018.3 分支)时遇到了完全相同的问题。对我来说,问题不在 core/meta/recipes-devtools/tcf-agent 中的 tcf-agent_git.bb 配方中,而是在 meta-petalinux/recipes-devtools/tcf- 中的 tcf-agent_%.bbappend 文件中代理人。在那里,我更换了

SRC_URI = " \
    git://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git;branch=master;protocol=https \
    file://fix_ranlib.patch;striplevel=2 \
    file://ldflags.patch \
    file://tcf-agent.init \
    file://tcf-agent.service \
    "
Run Code Online (Sandbox Code Playgroud)

SRC_URI = " \
    git://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git;branch=master \
    file://fix_ranlib.patch;striplevel=2 \
    file://ldflags.patch \
    file://tcf-agent.init \
    file://tcf-agent.service \
    "
Run Code Online (Sandbox Code Playgroud)

并正确完成构建。

前者在我上次构建映像时(几个月前)运行良好,但由于某种原因,该protocol=https选项现在使其失败。