Сбой сборки Yocto на gcc и проблема с жестким fpu - PullRequest
0 голосов
/ 03 февраля 2019

В настоящее время я пытаюсь создать образ yocto и SDK для пользовательской платы с MediaTek MT8167B (https://www.mediatek.com/products/tablets/mt8167b).

У меня установлена ​​последняя версия yocto (2.5.2), я настроилэто в local.conf:

MACHINE ?= "qemuarm"
TARGET_SYS = "arm-linux-gnueabihf"
TUNE_FEATURES = "arm armv7a cortexa7 vfpv4 neon"
TUNE_CCARGS_MFLOAT = "vfp"
TUNE_CCARGS_MFLOAT = "hard"

Но перед сборкой конфигурация сборки покажет, что TARGET_FPU все еще мягок:

Build Configuration:
BB_VERSION           = "1.38.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "arm-linux-gnueabihf"
MACHINE              = "qemuarm"
DISTRO               = "poky"
DISTRO_VERSION       = "2.5.2"
TUNE_FEATURES        = "arm armv7a cortexa7 vfpv4 neon"
TARGET_FPU           = "soft"
meta                 
meta-poky            
meta-yocto-bsp       = "psc-2.5.2:95ebfb33e4c0aa9669f318e061a4d7540b84f4ac"

Затем сборка запускается и в этот момент происходит сбой.:

| checking whether ln -s works... yes
| checking for arm-linux-gnueabihf-gcc...  /home/mggk/poky/build/tmp/work/x86_64-linux/gcc-cross-initial-arm/7.3.0-r0/gcc-7.3.0/build.x86_64-linux.arm-linux-gnueabihf/./gcc/xgcc -B/home/mggk/poky/build/tmp/work/x86_64-linux/gcc-cross-initial-arm/7.3.0-r0/gcc-7.3.0/build.x86_64-linux.arm-linux-gnueabihf/./gcc/ -B/home/mggk/poky/build/tmp/work/x86_64-linux/gcc-cross-initial-arm/7.3.0-r0/recipe-sysroot-native/usr/arm-linux-gnueabihf/bin/ -B/home/mggk/poky/build/tmp/work/x86_64-linux/gcc-cross-initial-arm/7.3.0-r0/recipe-sysroot-native/usr/arm-linux-gnueabihf/lib/ -isystem /home/mggk/poky/build/tmp/work/x86_64-linux/gcc-cross-initial-arm/7.3.0-r0/recipe-sysroot-native/usr/arm-linux-gnueabihf/include -isystem /home/mggk/poky/build/tmp/work/x86_64-linux/gcc-cross-initial-arm/7.3.0-r0/recipe-sysroot-native/usr/arm-linux-gnueabihf/sys-include --sysroot=/home/mggk/poky/build/tmp/work/x86_64-linux/gcc-cross-initial-arm/7.3.0-r0/recipe-sysroot
| checking for suffix of object files... configure: error: in `/home/mggk/poky/build/tmp/work/x86_64-linux/gcc-cross-initial-arm/7.3.0-r0/gcc-7.3.0/build.x86_64-linux.arm-linux-gnueabihf/arm-linux-gnueabihf/libgcc':
| configure: error: cannot compute suffix of object files: cannot compile
| See `config.log' for more details.
| ERROR: oe_runmake failed
| Makefile:11175: recipe for target 'configure-target-libgcc' failed
| make: *** [configure-target-libgcc] Error 1
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile (log file is located at /home/mggk/poky/build/tmp/work/x86_64-linux/gcc-cross-initial-arm/7.3.0-r0/temp/log.do_compile.25969)
ERROR: Task (/home/mggk/poky/meta/recipes-devtools/gcc/gcc-cross-initial_7.3.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 138 tasks of which 80 didn't need to be rerun and 1 failed.

Если честно, я понятия не имею, из-за чего происходит сбой, чистая система Linux (Ubuntu 18.04), а не другой установленный компилятор.

Спасибо за помощь.

1 Ответ

0 голосов
/ 03 февраля 2019

qemuarm в OE-Core - это, прежде всего, эмулятор armv5te, поэтому внесенные вами изменения не приведут к этой работе для более новой архитектуры.

Я бы предложил добавить что-то вроде meta-qemuarma9 на ваш bblayers.conf, затем установите

MACHINE = "qemuarma9" и испеките свой SDK.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...