具体错误是:
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