2017-02-08 2 views
0

Я строй докера в последней версии Yocto (Мортите), но билд неудача его следующие ошибкиошибка do_compile на строительство докера

ERROR: containerd-0.2.2+git0ac3cd1be170d180b2baed755e8f0da547ceb267-r0 do_compile: oe_runmake failed 

Я также получаем некоторые данные журнала, который является, как следует

Log data follows: 
| DEBUG: Executing shell function do_compile 
| NOTE: make -j 8 static 
| ERROR: oe_runmake failed 
| /var/mshehery/Documents/git/poky/build/tmp/work/i586-poky-linux/containerd/0.2.2+git0ac3cd1be170d180b2baed755e8f0da547ceb267-r0/git 
| cd ctr && go build -ldflags "-w -extldflags -static -X github.com/docker/containerd.GitCommit=0ac3cd1be170d180b2baed755e8f0da547ceb267 " -tags "" -o ../bin/ctr 
| cd containerd && go build -ldflags "-w -extldflags -static -X github.com/docker/containerd.GitCommit=0ac3cd1be170d180b2baed755e8f0da547ceb267 " -tags "" -o ../bin/containerd 
| cd containerd-shim && go build -ldflags "-w -extldflags -static -X github.com/docker/containerd.GitCommit=0ac3cd1be170d180b2baed755e8f0da547ceb267 " -tags "" -o ../bin/containerd-shim 
| # runtime/internal/sys 
| compile: unknown architecture "i586" 
| Makefile:58: recipe for target 'shim-static' failed 
| make: *** [shim-static] Error 2 
| make: *** Waiting for unfinished jobs.... 
| # runtime/internal/sys 
| compile: unknown architecture "i586" 
| Makefile:46: recipe for target 'client-static' failed 
| make: *** [client-static] Error 2 
| # runtime/internal/sys 
| compile: unknown architecture "i586" 
| Makefile:52: recipe for target 'daemon-static' failed 
| make: *** [daemon-static] Error 2 
| ERROR: Function failed: do_compile (log file is located at /var/mshehery/Documents/git/poky/build/tmp/work/i586-poky-linux/containerd/0.2.2+git0ac3cd1be170d180b2baed755e8f0da547ceb267-r0/temp/log.do_compile.20684) 

По-видимому, есть проблема с containerd, демоном для управления runC. Может ли кто-нибудь предложить исправить здесь? Я использую уровень мета-виртуализации, и это зависит от докера. Все слои устойчивы к смертельному поводу.

+0

Не могли бы вы попытаться добавить 'inherit go-osarchmap' в рецепт containerd? Это за – Anders

+0

@Anders По-прежнему получает ту же ошибку. – shery6405

+0

Ну, сделав это, вы должны настроить архитектуру на '386' вместо' i586' ... Не могли бы вы проверить это? – Anders

ответ

0

Ниже приводится обновленная информация о моей проблеме

Рецепт определяет следующую архитектуру, как поддерживаемый

do_compile() { 
export GOARCH="${TARGET_ARCH}" 
# supported amd64, 386, arm arm64 

Для того, чтобы удалить ошибку и построить containerd_git.bb, целевая архитектура должна изменена с i586 к поддерживаемому. Архитектура задаются в убогом/построить конф файл// local.conf следующего

# You need to select a specific machine to target the build with. There are a selection 
# of emulated machines available which can boot and run in the QEMU emulator: 
# 
#MACHINE ?= "qemuarm" 
#MACHINE ?= "qemuarm64" 
#MACHINE ?= "qemumips" 
#MACHINE ?= "qemuppc" 
#MACHINE ?= "qemux86" 
#MACHINE ?= "qemux86-64" 
# 
# There are also the following hardware board target machines included for 
# demonstration purposes: 
# 
#MACHINE ?= "beaglebone" 
#MACHINE ?= "genericx86" 
#MACHINE ?= "genericx86-64" 
#MACHINE ?= "mpc8315e-rdb" 
#MACHINE ?= "edgerouter" 
# 
# This sets the default machine to be qemux86 if no other machine is selected: 
MACHINE ??= "genericx86-64" 

Я был в состоянии успешно строить рецепт с настройками, перечисленными выше.

Смежные вопросы