4

我是新手,并尝试通过 pocto 构建 xilinx。作为指南,我克隆了存储库(branch thud)、source oe-... 和 change MACHINE="zedborad-zynq7", then bitbake petalinux-image-minimal,但出现以下错误:

错误:tcf-agent-1.7.0+gitAUTOINC+dad3a6f568-r0 do_fetch: Fetcher failure: Fetch command ... https://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git refs/ :refs/失败,退出代码 128,输出:致命:存储库“ https://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git/ ”未找到...错误:任务(〜 /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 \

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

欢迎任何建议。

非常感谢。

———————————————————————————</p>

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

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

4

3 回答 3

7

我在使用 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 \
    "

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 \
    "

并且它正确地完成了构建。

上次我构建映像时(几个月前),前者曾经可以正常工作,但由于某种原因,该protocol=https选项现在使其失败。

于 2020-01-13T11:37:06.303 回答
1

您的 SRC_URI 似乎错误。

它应该是

SRC_URI = "git://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git \

这个对我来说很完美。注意:末尾的反斜杠 () 表示您有多行 SRC_URI。如果您只有单行,请更正它。

于 2020-01-07T03:41:46.047 回答
0

2021 年 12 月,使用分支 rel-v2020.1,我需要将行更改为:

SRC_URI = "git://git.eclipse.org/r/tcf/org.eclipse.tcf.agent.git;protocol=https \
于 2021-12-09T09:44:41.003 回答