如果找不到www.example.com,为什么BitBake错误?

时间:2018-09-18 22:37:50

标签: yocto bitbake

BitBake对我来说失败了,因为找不到https://www.example.com

我的计算机是运行本机Xubuntu 18.04的x86-64。网络连接是通过DSL。我正在使用最新版本的OpenEmbedded / Yocto工具链。

这是我运行BitBake时得到的响应:

$ bitbake -k core-image-sato
WARNING: Host distribution "ubuntu-18.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
ERROR:  OE-core's config sanity checker detected a potential misconfiguration.
Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
Following is the list of potential problems / advisories:

Fetcher failure for URL: 'https://www.example.com/'. URL https://www.example.com/ doesn't work.
Please ensure your host's network is configured correctly,
or set BB_NO_NETWORK = "1" to disable network access if
all required sources are on local disk.


Summary: There was 1 WARNING message shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.

网络问题(我无法访问www.example.com的原因)是SuperUser论坛的一个问题。我的问题是,为什么BitBake依赖www.example.com的存在?该网站对BitBake的运营至关重要吗? 如果BitBake找不到https://www.example.com,为什么会发布错误?

目前,我不希望将BB_NO_NETWORK设置为“ 1”。我宁愿先了解并解决问题的根本原因。

3 个答案:

答案 0 :(得分:5)

对我来说,这似乎是我的ISP(CenturyLink)无法正确解析www.example.com的问题。如果我尝试导航到浏览器地址栏中的https://www.example.com,则只会进入ISP的“这不是有效地址”页面。

从技术上讲,这不是应该发生的,但是无论出于何种原因。通过将poky / meta-poky / conf / distro / poky.conf中的CONNECTIVITY_CHECK_URIS修改为实际可解决的问题,我能够暂时解决此问题:

# The CONNECTIVITY_CHECK_URI's are used to test whether we can succesfully
# fetch from the network (and warn you if not). To disable the test set
# the variable to be empty.
# Git example url: git://git.yoctoproject.org/yocto-firewall-test;protocol=git;rev=master    
CONNECTIVITY_CHECK_URIS ?= "https://www.google.com/"

有关添加www.example.com检查的更多见解和讨论,请参见this commit。不确定最好的长期解决方案是什么,但是上面的更改使我得以成功构建。

答案 1 :(得分:3)

修改poky.conf对我不起作用(根据我的阅读,对Poky进行任何修改都是长期的解决方案。

修改/conf/local.conf是唯一对我有用的解决方案。只需添加以下两个选项之一:

#check connectivity using google
CONNECTIVITY_CHECK_URIS = "https://www.google.com/"

#skip connectivity checks
CONNECTIVITY_CHECK_URIS = ""

此解决方案最初是在here下找到的。

答案 2 :(得分:0)

如果您想解决此问题而无需修改poky.conflocal.conf或与此相关的任何文件,请执行以下操作:

$touch conf/sanity.conf

meta/conf/sanity.conf中清楚地写着:

专家用户可以通过“ touch conf / sanity.conf”确认其健全性

如果您不想在每个会话或构建中都执行此命令,则可以从INHERIT += "sanity"中注释掉meta/conf/sanity.conf行,因此文件看起来像这样:

meta/conf/sanity.conf