在yocto上建造码头工人

时间:2017-02-01 09:26:41

标签: linux docker yocto lxc

尝试在yocto上构建docker时出现以下错误

ERROR: Task 104 (/var/mshehery/Release_7.3/sheheryar/yocto/fido/meta/meta-virtualization/recipes-devtools/go/golang-cross_1.3.bb, do_compile) failed with exit code '1'

我正在使用' fido' yocto的分支,元虚拟化和meta-openembedded。谁能详细说明这个问题?

除了上面的错误,我也得到了一些日志数据。我发布的部分可能会让您深入了解问题

日志数据如下:

| DEBUG: Executing shell function do_compile
| GOARCH i586
| CC_FOR_TARGET gcc
| + set -e
| + [ ! -f run.bash ]
| + uname
| + grep gold.* 2\.20
| + ld --version
| + [ -d /selinux -a -f /selinux/booleans/allow_execstack -a -x /usr/sbin/selinuxenabled ]
| + [ -d /sys/fs/selinux -a -f /sys/fs/selinux/booleans/allow_execstack -a -x /usr/sbin/selinuxenabled ]
| + uname -s
| + [ Linux == GNU/kFreeBSD ]
| ./make.bash: 104: [: Linux: unexpected operator
| + rm -f ./pkg/runtime/runtime_defs.go
| + echo # Building C bootstrap tool.
| # Building C bootstrap tool.
| + echo cmd/dist
| cmd/dist
| + cd ..
| + pwd
| + export GOROOT=/var/mshehery/Documents/git/fido/build/tmp/work/x86_64-poky-linux/golang-cross/1.3-r0/go
| + GOROOT_FINAL=/var/mshehery/Documents/git/fido/build/tmp/sysroots/x86_64-linux/usr/lib/i586-poky-linux/go
| + DEFGOROOT=-DGOROOT_FINAL="/var/mshehery/Documents/git/fido/build/tmp/sysroots/x86_64-linux/usr/lib/i586-poky-linux/go"
| + mflag=
| + uname
| + [ Linux == Darwin ]
| ./make.bash: 124: [: Linux: unexpected operator
| + type -t gcc
| + type -t clang
| + [ -z gcc  -a -z -t: not found
| gcc is /usr/bin/gcc -a -n -t: not found
| clang: not found ]
| + gcc -O2 -Wall -Werror -o cmd/dist/dist -Icmd/dist -DGOROOT_FINAL="/var/mshehery/Documents/git/fido/build/tmp/sysroots/x86_64-linux/usr/lib/i586-poky-linux/go" cmd/dist/arm.c cmd/dist/buf.c cmd/dist/build.c cmd/dist/buildgc.c cmd/dist/buildgo.c cmd/dist/buildruntime.c cmd/dist/goc2c.c cmd/dist/main.c cmd/dist/plan9.c cmd/dist/unix.c cmd/dist/windows.c
| + ./cmd/dist/dist env -p
| go tool dist: unknown $GOARCH i586
| + echo FAIL=true
| + eval FAIL=true
| + FAIL=true
| + [ true = true ]
| + exit 1
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile (log file is located at /var/mshehery/Documents/git/fido/build/tmp/work/x86_64-poky-linux/golang-cross/1.3-r0/temp/log.do_compile.31971)

2 个答案:

答案 0 :(得分:0)

  

go tool dist:未知的$ GOARCH i586

这是您的答案。请检查available GOARCH values

如果需要更多帮助,则需要澄清使用的 bitbake 参数。图层/食谱也可以:

bitbake-layers show-layers

答案 1 :(得分:-1)

当你docker build获得各种图层时。

您可以运行失败前创建的最后一张图片,例如

---> Using cache ---> a03f050edd2f Step 4 : ENTRYPOINT

在那种情况下

docker run -it a03f050edd2f bash

然后发出失败的命令,看看会发生什么

如果这不是秘密,请发布一个重现器,即Dockerfile ..