Skip to main content

编译

编译 nativesdk-glibc 时下载速度慢

按如下方式更改源设置:
  1. 打开配方文件:
  2. 在该文件中添加以下行:
  3. 保存配方文件并退出。
  4. 清理并再次获取 nativesdk-glibc:
  5. 命令完成后,按原始步骤重新构建。

Kas 报告 remote HEAD refers to nonexistent ref

现象: 运行 kas shell 命令时,即使层存储库完好无损,构建也会失败并显示以下错误:
此错误由过时版本的 kas 引起。检查您的 kas 版本并确认其为 4.8 或更高版本:
如果版本低于 4.8,请升级 kas 并再次运行命令。

由于缺少 Perl 模块依赖项导致 eSDK 安装失败

现象: 运行 eSDK 安装脚本时,安装失败并显示以下错误:
解决方案: 此错误在主机上的 perl-modules 软件包缺失或不完整时发生。请重新安装该软件包,然后再次运行安装程序:
  1. 打开一个新终端。不要在此终端中 source eSDK 环境设置脚本。
  2. 查找可用于您主机的 perl-modules 版本:
  3. 重新安装该软件包。将 <VERSION> 替换为上一步返回的版本:
  4. 确认 FindBin 模块已加载:
    模块可用时,该命令打印 FindBin OK。
  5. 从包含 eSDK 安装程序的目录再次运行它:
  6. 使用 devtool 构建机器人镜像:

在同一工作区切换 MACHINE 后 eSDK 构建失败

现象: 当您在先前用于另一个 MACHINE 的工作区中使用不同的 MACHINE 构建 eSDK 时,构建会失败并显示类似以下的错误:
清理机器人软件包组 sstate 缓存,然后重新构建 eSDK:

由于网络不可用导致构建失败

现象: 当您构建机器人镜像时,构建失败并显示类似以下的错误:
要解决构建失败,请添加以下代码,以便在 rosx-introspection_2.3.0-1.bb 和 foxglove-bridge_3.2.6-1.bb 配方中为 do_configure 任务启用网络访问:
rosx-introspection_2.3.0-1.bb | foxglove-bridge_3.2.6-1.bb

Docker

未安装 Docker

现象: 未安装 Docker
使用以下命令安装 Docker:

当前用户不在 Docker 组中

现象: 当前用户没有权限访问 Docker 套接字:
  1. 添加到 Docker 组:
  2. 确认您已加入 Docker 组:
  3. 注销并重新登录以使访问生效:

Docker 由于网络或代理问题无法拉取镜像

现象: Docker 无法访问远程注册表。这通常是由于网络限制或缺少代理/镜像配置所致:
配置一个可从您的网络环境访问的 Docker 注册表镜像。以下 JSON 配置使用一个示例 Qualcomm 注册表镜像;请将 URL 替换为适合您网络的镜像。
警告
  • 不要在 JSON 配置文件中包含 # 注释。
  • 使用制表符代替空格以及其他不可见的空白字符,可能会破坏 JSON 配置文件的功能,还可能导致 docker.service 无法启动。
  1. 打开或创建 Docker 守护进程配置文件,并添加一个 registry-mirrors 条目:
    daemon.json
    下面是一个示例:
    daemon.json example
  2. 重启 Docker 服务以应用新设置。
    注意对于中国用户,拉取 Docker 镜像时请使用适当的 Docker 注册表镜像。