0

具体错误是:

11634 verbose node v12.14.1
11635 verbose npm  v6.13.4
11636 error Error while executing:
11636 error /home/openbmc/code/openbmc/rpi-build/tmp/hosttools/git ls-remote -h -t https://github.com/novnc/noVNC.git
11636 error
11636 error fatal: unable to access 'https://github.com/novnc/noVNC.git/': error setting certificate verify locations:
11636 error   CAfile: /opt/poky/3.1/sysroots/x86_64-pokysdk-linux/etc/ssl/certs/ca-certificates.crt
11636 error   CApath: none

手动测试:

如果我在新的 shell 中手动运行命令,它也会失败,表明它使用的是默认证书路径。如果我在带有 bitbake 环境的 shell 中运行它,它就可以工作。这是因为 GIT_SSL_CAINFO 已正确定义。

该行为表明,当从 hosttools 运行 git 时,它没有使用 bitbake shell 环境,因为该环境定义了一个正确的 GIT_SSL_CAINFO 以及带有有效证书的 buildtools 区域的路径。

我假设 poky 正在创建一个特殊的环境,用于独立于我的主 shell 运行 hosttools。如果是这种情况,需要有一种方法将 GIT_SSL_CAINFO 添加到这个环境中,我不知道该怎么做。

我在其他目标周围寻找线索,但找不到任何建议我定义这个变量的东西。

在 GIT_SSL_CAINFO 上搜索树没有发现任何问题,但可能存在另一个名称的变量。

也许有一种方法可以设置 http.sslCAInfo 来代替 GIT_SSL_CAINFO?

上下文:

我首先编译了 raspberry pi 版本并测试了它是否可以运行。然后我添加了 meta-phosphor,它也引入了 webui。

webui 依赖于 noVNC,但具有特定版本,这似乎导致此命令运行和失败。

我如何设置构建:

git clone https://github.com/openbmc/openbmc.git
git checkout cb91a77
# Modify layers to include meta-phosphor and webui
scripts/install-buildtools
. /home/openbmc/code/openbmc/poky/buildtools/environment-setup-x86_64-pokysdk-linux
bitbake bmap-tools-native -caddto_recipe_sysroot
. oe-init-build-env rpi-build (per session)
# Modify conf files in rpi-build
bitbake core-image-base
4

1 回答 1

0

我的工作:

sudo git config --system http.sslcainfo /home/openbmc/code/openbmc/poky/buildtools/sysroots/x86_64-pokysdk-linux/etc/ssl/certs/ca-certificates.crt

我宁愿在构建中处理问题,但找不到这样做的方法。

于 2020-07-21T18:22:55.477 回答