Как собрать утилиту bootgen в системе Yocto - Makefile? - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь написать рецепт для сборки утилиты bootgen изначально для моего linux p c. По сути, после компиляции изначально, то есть для моей машины X86, я хочу использовать эту утилиту для создания образа zynq.
Загрузчик зависит от пакета openssl - libssl1.0-dev, который я установил, используя

sudo apt install libssl1.0-dev

Вот мой рецепт, и я получаю ошибки, и я вижу, что он пытается выполнить кросс-компиляцию, но я хочу, чтобы он создавался изначально, а не кросс-компилировался для ARM / Zynq. Вот мой рецепт.

DESCRIPTION = "Bootgen application - Xilinx to create boot.bin"
HOMEPAGE = "https://github.com/Xilinx/bootgen"
LICENSE = "LGPL-2.1"
LIC_FILES_CHKSUM = "file://LICENSE;md5=be5410bcde8eb6481a6e5d3b22e0740b"

SRC_URI = "git://github.com/Xilinx/bootgen.git"
SRCREV = "${AUTOREV}"
S = "${WORKDIR}/git"

Что мне здесь нужно предоставить? Как он умеет компилировать? Нужно ли мне добавлять сюда какую-либо задачу вроде компиляции?

замеченных ошибок -

    ERROR: bootgen-git-r0 do_compile: oe_runmake failed
    ERROR: bootgen-git-r0 do_compile: Function failed: do_compile (log file is located at /home/xxx/temp/custom_yocto/build-custom-zynq/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/bootgen/git-r0/temp/log.do_compile.10667)
    ERROR: Logfile of failure stored in: /home/xxx/temp/custom_yocto/build-custom-zynq/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/bootgen/git-r0/temp/log.do_compile.10667
    Log data follows:
    | DEBUG: Executing shell function do_compile
    | NOTE: make -j 4
    | g++ -c  -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/home/xxx/temp/custom_yocto/build-custom-zynq/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/bootgen/git-r0=/usr/src/debug/bootgen/git-r0                      -fdebug-prefix-map=/home/xxx/temp/custom_yocto/build-custom-zynq/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/bootgen/git-r0=/usr/src/debug/bootgen/git-r0                      -fdebug-prefix-map=/home/xxx/temp/custom_yocto/build-custom-zynq/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/bootgen/git-r0/recipe-sysroot=                      -fdebug-prefix-map=/home/xxx/temp/custom_yocto/build-custom-zynq/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/bootgen/git-r0/recipe-sysroot-native=  -fvisibility-inlines-hidden   -I. bootheader-zynq.cpp
    | g++ -c  -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/home/xxx/temp/custom_yocto/build-custom-zynq/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/bootgen/git-r0=/usr/src/debug/bootgen/git-r0                      -fdebug-prefix-map=/home/xxx/temp/custom_yocto/build-custom-zynq/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/bootgen/git-r0=/usr/src/debug/bootgen/git-r0                      -fdebug-prefix-map=/home/xxx/temp/custom_yocto/build-custom-zynq/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/bootgen/git-r0/recipe-sysroot=                      -fdebug-prefix-map=/home/xxx/temp/custom_yocto/build-custom-zynq/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/bootgen/git-r0/recipe-sysroot-native=  -fvisibility-inlines-hidden   -I. authentication-zynq.cpp
    | g++ -c  -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/home/xxx/temp/custom_yocto/build-custom-zynq/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/bootgen/git-r0=/usr/src/debug/bootgen/git-r0                      -fdebug-prefix-map=/home/xxx/temp/custom_yocto/build-custom-zynq/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/bootgen/git-r0=/usr/src/debug/bootgen/git-r0                      -fdebug-prefix-map=/home/xxx/temp/custom_yocto/build-custom-zynq/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/bootgen/git-r0/recipe-sysroot=                      -fdebug-prefix-map=/home/xxx/temp/custom_yocto/build-custom-zynq/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/bootgen/

 g++: error: unrecognized command line option ‘-fmacro-prefix-map=/home/xxx/temp/custom_yocto/build-custom-zynq/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/bootgen/git-r0=/usr/src/debug/bootgen/git-r0’
| g++: error: unrecognized command line option ‘-fmacro-prefix-map=/home/xxx/temp/custom_yocto/build-custom-zynq/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/bootgen/git-r0=/usr/src/debug/bootgen/git-r0’
| g++: error: unrecognized command line option ‘-fmacro-prefix-map=/home/xxx/temp/custom_yocto/build-custom-zynq/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/bootgen/git-r0=/usr/src/debug/bootgen/git-r0’
| g++: error: unrecognized command line option ‘-fmacro-prefix-map=/home/xxx/temp/custom_yocto/build-custom-zynq/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/bootgen/git-r0=/usr/src/debug/bootgen/git-r0’

| Makefile:70: recipe for target 'bootheader-zynq.o' failed
| make: *** [bootheader-zynq.o] Error 1
| make: *** Waiting for unfinished jobs....
| Makefile:70: recipe for target 'imageheadertable-versal.o' failed
| make: *** [imageheadertable-versal.o] Error 1
| Makefile:70: recipe for target 'authentication-zynq.o' failed
| make: *** [authentication-zynq.o] Error 1
| Makefile:70: recipe for target 'bif.yy.o' failed
...