前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【分享】检查build.log, 解决petalinux的编译错误“ERROR: Failed to create workspace directory”

【分享】检查build.log, 解决petalinux的编译错误“ERROR: Failed to create workspace directory”

作者头像
hankfu
发布2020-12-03 14:47:33
2.5K0
发布2020-12-03 14:47:33
举报
文章被收录于专栏:hankhank

问题

修改PetaLinux工程的配置文件project-spec/meta-user/conf/petalinuxbsp.conf后,编译出现下列错误,报告“ERROR: Failed to create workspace directory”。

代码语言:javascript
复制
hankf@XSZGS4:/proj/hankf/zcu106/v202/zcu106-v202-bsp-proj$ petalinux-build
INFO: Sourcing build tools
[INFO] Building project

[INFO] Sourcing build environment

[INFO] Generating workspace directory
ERROR: Failed to create workspace directory
ERROR: Failed to build project

分析和解决

于是检查PetaLinux工程的编译日志文件build/build.log,搜索其中的ERROR。检查ERROR开始的内容,发现一行“ERROR: ParseError at project-spec/meta-user/conf/petalinuxbsp.conf:69: unparsed line”。说明petalinuxbsp.conf有错误。检查petalinuxbsp.conf,发现PREMIRRORS_prepend缺少了一个结束的引号。恢复PREMIRRORS_prepend的结束引号,PetaLinux工程又能正常编译了。

编译日志文件build/build.log如下:

代码语言:javascript
复制
[INFO] Building project
[INFO] Sourcing build environment
SDK environment now set up; additionally you may now run devtool to perform development tasks.
Run devtool --help for further details.
INFO: Sourcing build tools

### Shell environment set up for builds. ###

You can now run 'bitbake <target>'

Common targets are:
    core-image-minimal
    core-image-sato
    meta-toolchain
    meta-ide-support

You can also run generated qemu images with a command like 'runqemu qemux86'.

Other commonly useful commands are:
 - 'devtool' and 'recipetool' handle common recipe tasks
 - 'bitbake-layers' handles common layer tasks
 - 'oe-pkgdata-util' handles common target package tasks
[INFO] Generating workspace directory
NOTE: Starting bitbake server...
ERROR: Unable to start bitbake server (None)
ERROR: Server log for this session (/proj/hankf/zcu106/v202/zcu106-v202-bsp-proj/build/bitbake-cookerdaemon.log):
--- Starting bitbake server pid 43963 at 2020-12-01 07:17:48.614021 ---
ERROR: ParseError at /proj/hankf/zcu106/v202/zcu106-v202-bsp-proj/project-spec/meta-user/conf/petalinuxbsp.conf:69: unparsed line: 'PREMIRRORS_prepend = " git://.*/.* file:///opt/Xilinx/peta/downloads/   ftp://.*/.* file:///opt/Xilinx/peta/downloads/    http://.*/.* file:///opt/Xilinx/peta/downloads/   https://.*/.*  file:///opt/Xilinx/peta/downloads/ git://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/   ftp://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/    http://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/   https://.*/.*  file:///opt/Xilinx/peta/2020.2/downloads/ '
ERROR: ParseError at /proj/hankf/zcu106/v202/zcu106-v202-bsp-proj/project-spec/meta-user/conf/petalinuxbsp.conf:69: unparsed line: 'PREMIRRORS_prepend = " git://.*/.* file:///opt/Xilinx/peta/downloads/   ftp://.*/.* file:///opt/Xilinx/peta/downloads/    http://.*/.* file:///opt/Xilinx/peta/downloads/   https://.*/.*  file:///opt/Xilinx/peta/downloads/ git://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/   ftp://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/    http://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/   https://.*/.*  file:///opt/Xilinx/peta/2020.2/downloads/ '
ERROR: ParseError at /proj/hankf/zcu106/v202/zcu106-v202-bsp-proj/project-spec/meta-user/conf/petalinuxbsp.conf:69: unparsed line: 'PREMIRRORS_prepend = " git://.*/.* file:///opt/Xilinx/peta/downloads/   ftp://.*/.* file:///opt/Xilinx/peta/downloads/    http://.*/.* file:///opt/Xilinx/peta/downloads/   https://.*/.*  file:///opt/Xilinx/peta/downloads/ git://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/   ftp://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/    http://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/   https://.*/.*  file:///opt/Xilinx/peta/2020.2/downloads/ '

ERROR: Unable to start bitbake server (None)
ERROR: Server log for this session (/proj/hankf/zcu106/v202/zcu106-v202-bsp-proj/build/bitbake-cookerdaemon.log):
--- Starting bitbake server pid 43963 at 2020-12-01 07:17:48.614021 ---
ERROR: ParseError at /proj/hankf/zcu106/v202/zcu106-v202-bsp-proj/project-spec/meta-user/conf/petalinuxbsp.conf:69: unparsed line: 'PREMIRRORS_prepend = " git://.*/.* file:///opt/Xilinx/peta/downloads/   ftp://.*/.* file:///opt/Xilinx/peta/downloads/    http://.*/.* file:///opt/Xilinx/peta/downloads/   https://.*/.*  file:///opt/Xilinx/peta/downloads/ git://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/   ftp://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/    http://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/   https://.*/.*  file:///opt/Xilinx/peta/2020.2/downloads/ '
ERROR: ParseError at /proj/hankf/zcu106/v202/zcu106-v202-bsp-proj/project-spec/meta-user/conf/petalinuxbsp.conf:69: unparsed line: 'PREMIRRORS_prepend = " git://.*/.* file:///opt/Xilinx/peta/downloads/   ftp://.*/.* file:///opt/Xilinx/peta/downloads/    http://.*/.* file:///opt/Xilinx/peta/downloads/   https://.*/.*  file:///opt/Xilinx/peta/downloads/ git://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/   ftp://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/    http://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/   https://.*/.*  file:///opt/Xilinx/peta/2020.2/downloads/ '
ERROR: ParseError at /proj/hankf/zcu106/v202/zcu106-v202-bsp-proj/project-spec/meta-user/conf/petalinuxbsp.conf:69: unparsed line: 'PREMIRRORS_prepend = " git://.*/.* file:///opt/Xilinx/peta/downloads/   ftp://.*/.* file:///opt/Xilinx/peta/downloads/    http://.*/.* file:///opt/Xilinx/peta/downloads/   https://.*/.*  file:///opt/Xilinx/peta/downloads/ git://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/   ftp://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/    http://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/   https://.*/.*  file:///opt/Xilinx/peta/2020.2/downloads/ '

ERROR: Failed to build project

结论

PetaLinux工程编译遇到问题时,先看看build/build.log和其它log文件的信息,在检查相关文件,多半能找到解决办法。

其它

petalinuxbsp.conf文件中引起错误的部分,修正如下:

代码语言:javascript
复制
#=============================
#
# https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/60129817/Xilinx+Yocto+Builds+without+an+Internet+Connection
# Xilinx Yocto Builds without an Internet Connection
#
# DL_DIR ?= "${TOPDIR}/downloads"
DL_DIR ?= "/opt/Xilinx/peta/2020.2/downloads"
# SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
SSTATE_DIR ?= "/opt/Xilinx/peta/2020.2/sstate/aarch64"
BB_NO_NETWORK = "1"


# ===============================================
# AR 71798
# https://www.xilinx.com/support/answers/71198.html
PREMIRRORS_prepend = " \
git://.*/.* file:///opt/Xilinx/peta/downloads/   \
ftp://.*/.* file:///opt/Xilinx/peta/downloads/    \
http://.*/.* file:///opt/Xilinx/peta/downloads/   \
https://.*/.*  file:///opt/Xilinx/peta/downloads/ \
git://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/   \
ftp://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/    \
http://.*/.* file:///opt/Xilinx/peta/2020.2/downloads/   \
https://.*/.*  file:///opt/Xilinx/peta/2020.2/downloads/ \
"

上述内容,使PetaLinux从本地下载文件,不从网络下载,从而进行离线编译。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-12-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题
  • 分析和解决
  • 结论
  • 其它
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档