【问题标题】:How do I point a BitBake recipe to a local file / Yocto build fails to fetch sources for libtalloc如何将 BitBake 配方指向本地文件/Yocto 构建无法获取 libtalloc 的源
【发布时间】:2017-06-09 21:02:25
【问题描述】:

我正在尝试使用控制台映像为 Raspberry Pi3 构建 Yocto,它给了我一些构建错误,大多数我已经能够解决

bitbake -c cleansstate libname
bitbake libname

但是,现在它到了 libtalloc,它不能 do_fetch 源文件。

我访问了源的 URL,并且能够下载它试图获取的确切 tar.gz 存档。即http://samba.org/ftp/talloc/talloc-2.1.8.tar.gz

我什至把它放到 /build/downloads 文件夹中。

但是当我尝试 bitbake 时,它​​总是给我同样的错误

有没有办法可以将构建过程配置为始终使用 http 或 wget 获取,这些脚本似乎都已损坏,因为它无法获取存在的文件。

谢谢,

这是完整的打印输出:

WARNING: libtalloc-2.1.8-r0 do_fetch: Failed to fetch URL http://samba.org/ftp/talloc/talloc-2.1.8.tar.gz, attempting MIRRORS if available
ERROR: libtalloc-2.1.8-r0 do_fetch: Fetcher failure: Fetch command export DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-ATqIt180d4"; export SSH_AUTH_SOCK="/run/user/1000/keyring-Ubo22d/ssh"; export PATH="/home/dmitry/rpi/build/tmp/sysroots-uninative/x86_64-linux/usr/bin:/home/dmitry/rpi/build/tmp/sysroots/x86_64-linux/usr/bin/python-native:/home/dmitry/poky-morty/scripts:/home/dmitry/rpi/build/tmp/sysroots/x86_64-linux/usr/bin/arm-poky-linux-gnueabi:/home/dmitry/rpi/build/tmp/sysroots/raspberrypi2/usr/bin/crossscripts:/home/dmitry/rpi/build/tmp/sysroots/x86_64-linux/usr/sbin:/home/dmitry/rpi/build/tmp/sysroots/x86_64-linux/usr/bin:/home/dmitry/rpi/build/tmp/sysroots/x86_64-linux/sbin:/home/dmitry/rpi/build/tmp/sysroots/x86_64-linux/bin:/home/dmitry/poky-morty/scripts:/home/dmitry/poky-morty/bitbake/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"; export HOME="/home/dmitry"; /usr/bin/env wget -t 2 -T 30 -nv --passive-ftp --no-check-certificate -P /home/dmitry/rpi/build/downloads 'http://samba.org/ftp/talloc/talloc-2.1.8.tar.gz' --progress=dot -v failed with exit code 4, output:
--2017-01-24 12:35:19--  http://samba.org/ftp/talloc/talloc-2.1.8.tar.gz
Resolving samba.org (samba.org)... 144.76.82.156, 2a01:4f8:192:486::443:2
Connecting to samba.org (samba.org)|144.76.82.156|:80... connected.
HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers.
Retrying.

--2017-01-24 12:35:20--  (try: 2)  http://samba.org/ftp/talloc/talloc-2.1.8.tar.gz
Connecting to samba.org (samba.org)|144.76.82.156|:80... connected.
HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers.
Giving up.


ERROR: libtalloc-2.1.8-r0 do_fetch: Fetcher failure for URL: 'http://samba.org/ftp/talloc/talloc-2.1.8.tar.gz'. Unable to fetch URL from any source.
ERROR: libtalloc-2.1.8-r0 do_fetch: Function failed: base_do_fetch
ERROR: Logfile of failure stored in: /home/dmitry/rpi/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/libtalloc/2.1.8-r0/temp/log.do_fetch.80102
ERROR: Task (/home/dmitry/poky-morty/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.8.bb:do_fetch) failed with exit code '1'

【问题讨论】:

  • 您可以手动下载代码并将其设置为配方 URL 的镜像
  • 我按照说明添加到 local.conf SOURCE_MIRROR_URL ?= "file://home/rpi/build/sources/" INHERIT += "own-mirrors" BB_GENERATE_MIRROR_TARBALLS = "1"我将压缩包放入 /home/rpi/build/sources 它仍然给我同样的错误。这次花了一点时间
  • 当我添加 BB_NO_NETWORK = "1" 标志时,我得到一个不同的错误:错误:libtalloc-2.1.8-r0 do_fetch:通过 BB_NO_NETWORK 禁用网络访问(或由于使用 BB_FETCH_PREMIRRORONLY 而间接设置)但使用命令 /usr/bin/env wget -t 2 -T 30 -nv --passive-ftp --no-check-certificate -P /home/user/rpi/build/downloads 'samba.org/ftp/talloc/talloc-2.1.8.tar.gz' 请求访问(对于 url 无)错误:libtalloc-2.1.8-r0 do_fetch:函数失败:base_do_fetch
  • 错误:失败日志文件存储在:/home/user/rpi/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/libtalloc/2.1.8-r0/temp /log.do_fetch.81312 错误:任务(/home/user/poky-morty/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.8.bb:do_fetch)失败,退出代码为“1”跨度>

标签: linux raspberry-pi yocto bitbake


【解决方案1】:

有没有办法可以将构建过程配置为始终使用 http 或 wget 获取,这些脚本似乎都已损坏,因为它无法获取存在的文件。

脚本已经使用 wget 和 http。他们也不是真的坏了,维护 samba 下载服务器的人在过去一周里只是改变了几件事:我相信 libtalloc recipes main SRC_URI 只需要更改为https://download.samba.org/pub/talloc/talloc-${PV}.tar.gz(当前的规范 samba 下载服务器)。

如果情况确实如此,我相信 meta-oe 维护者会很感激补丁。

【讨论】:

    【解决方案2】:

    我将以下补丁应用于 meta-openembedded 并构建了它。有几个 samba 链接已经损坏。

    http://pastebin.com/0uTnAY4g

    问候, M.

    【讨论】:

      猜你喜欢
      • 2018-09-07
      • 2021-02-14
      • 2021-03-12
      • 2015-01-01
      • 2020-06-20
      • 1970-01-01
      • 2021-11-03
      • 1970-01-01
      • 2021-11-04
      相关资源
      最近更新 更多