Yocto autotools do_compile fails - linux

I have created a recipe in my custom layer like this:
SUMMARY = "Mednafen is a portable, utilizing OpenGL and SDL, argument(command-line)-driven multi-system emulator."
HOMEPAGE = "https://mednafen.github.io/"
SRC_URI = "https://mednafen.github.io/releases/files/${PN}-${PV}.tar.xz"
SRC_URI[md5sum] = "7be60dd12edf8d61537f5598957e2884"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
DEPENDS += " zlib libsndfile1 libsdl2"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
S = "${WORKDIR}/${PN}"
inherit autotools-brokensep gettext
But when I try to create a minimal image I get this error message:
ERROR: mednafen-1.27.1-r0 do_compile: oe_runmake failed
ERROR: mednafen-1.27.1-r0 do_compile: Execution of '/home/cihan/Desktop/yocto/poky/build/tmp/work/aarch64-poky-linux/mednafen/1.27.1-r0/temp/run.do_compile.14150' failed with exit code 1:
Making all in po
make[1]: Entering directory '/home/cihan/Desktop/yocto/poky/build/tmp/work/aarch64-poky-linux/mednafen/1.27.1-r0/mednafen/po'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/cihan/Desktop/yocto/poky/build/tmp/work/aarch64-poky-linux/mednafen/1.27.1-r0/mednafen/po'
Making all in intl
make[1]: Entering directory '/home/cihan/Desktop/yocto/poky/build/tmp/work/aarch64-poky-linux/mednafen/1.27.1-r0/mednafen/intl'
make[1]: *** No rule to make target 'libgnuintl.#INTL_LIBTOOL_SUFFIX_PREFIX#a', needed by 'all-no-yes'. Stop.
make[1]: Leaving directory '/home/cihan/Desktop/yocto/poky/build/tmp/work/aarch64-poky-linux/mednafen/1.27.1-r0/mednafen/intl'
Makefile:452: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
WARNING: /home/cihan/Desktop/yocto/poky/build/tmp/work/aarch64-poky-linux/mednafen/1.27.1-r0/temp/run.do_compile.14150:1 exit 1 from 'exit 1'
ERROR: Logfile of failure stored in: /home/cihan/Desktop/yocto/poky/build/tmp/work/aarch64-poky-linux/mednafen/1.27.1-r0/temp/log.do_compile.14150
Can you tell me what am I doing wrong? Btw, I work on dunfell branch and thank you for your replies.

It is always better to use ready-made recipes instead of handling all the dependencies, building options, patches...etc by your self. The mednafen recipe for dunfell branch is defined here under meta-game-emulators:
https://layers.openembedded.org/layerindex/recipe/132957/
You need to clone this layer and add it to your bblayers, then try to rebuild again. if you need another version of mednafen (particularly 1.27.1 mentioned in your question) then try to use the recipe for version 1.24.3 as the base for your custom recipe. This will make things easier for you.

Related

No rule to make target '.kernel_signing_key.pem', needed by 'certs/signing_key.x509'

I ran make O=/home/stephen/build/kernel V=1 all according to the document, the working directory is /home/stephen/linux-5.17 then it threw an error:
make[2]: *** No rule to make target '.kernel_signing_key.pem', needed by 'certs/signing_key.x509'. Stop.
make[1]: *** [/home/stephen/linux-5.17/Makefile:1831: certs] Error 2
And I have totally no idea about it.
Could anyone tell me how to deal with this?

How to compile linux kernel subdirectory?

I want to compile linux kernel subdirectory just like this:
make M=drivers/staging/comedi/
Unfortunately when I do this I get this error:
ERROR: Kernel configuration is invalid.
include/generated/autoconf.h or include/config/auto.conf are missing.
Run 'make oldconfig && make prepare' on kernel src to fix it.
Makefile:648: include/config/auto.conf: Nie ma takiego pliku ani katalogu
make: *** [Makefile:719: include/config/auto.conf] Błąd 1
It may be fixed by this command:
make oldconfig
After executing it, I have to press enter for 2 minutes to select the default options everywhere, and then I get this error anyway:
AR drivers/staging/comedi//built-in.a
WARNING: Symbol version dump "Module.symvers" is missing.
Modules may not have dependencies or modversions.
MODPOST drivers/staging/comedi//Module.symvers
/bin/sh: scripts/mod/modpost: Nie ma takiego pliku ani katalogu
make[1]: *** [scripts/Makefile.modpost:111: drivers/staging/comedi//Module.symvers] Błąd 127
make: *** [Makefile:1701: modules] Błąd 2
I have seen many times in the videos people just building a subdirectory with one make M=somedir command. Why doesn't it work for me?

PULP SDK build process

I'm new to this website and it is the first time I've worked with the RISC-V processor. I'm following the tutorial of the PULP SDK build process "https://github.com/pulp-platform/pulp-sdk".
But, I'm blocked at the stage of SDK build when I tape the command "$ make all" and I can't understand what's mean these errors.
Below the errors:
sdk:json-tools:build: make all install
make[1]: Entering directory '/home/pulp/project/pulpissimo/pulp-sdk/json-tools'
#### Building in /home/pulp/project/pulpissimo/pulp-sdk/build/sdk/json-tools
#### Release type is RelWithDebInfo
#### Installing to /home/pulp/project/pulpissimo/pulp-sdk/pkg/sdk/dev/install/ws
( cd /home/pulp/project/pulpissimo/pulp-sdk/build/sdk/json-tools ; make all VERBOSE=0 )
make[2]: Entering directory '/home/pulp/project/pulpissimo/pulp-sdk/build/sdk/json-tools'
make[2]: *** No rule to make target 'all'. Stop.
make[2]: Leaving directory '/home/pulp/project/pulpissimo/pulp-sdk/build/sdk/json-tools'
Makefile:46: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/pulp/project/pulpissimo/pulp-sdk/json-tools'
Reached EOF with exit status 2
FATAL ERROR: the command 'build' has failed
Makefile:6: recipe for target 'all' failed
make: *** [all] Error 255
Thank you in advance
Have you selected the target as advised in the documentation before running make all?
By running source configs/pulpissimo.sh for example.
I selected the target as advised in the documentation before running make all. In fact, it was a Vivado cmake problem that starts automatically when I run the make all command and it's an old version of cmake.
I solved this problem by uncommenting the line source /opt/Xilinx/Vivado/2018.3/settings64.sh. The day I need to launch Vivado I have to run this line on the command line in the terminal.

Error building libgfortran_6.2.bb recipe in morty: backtrace-supported.h: No such file or directory

I am trying to build the libgfortran_6.2.bb recipe in Morty.
I have included in my local.conf:
FORTRAN_forcevariable = ",fortran"
RUNTIMETARGET_append_pn-gcc-runtime = " libquadmath libgfortran"
IMAGE_INSTALL_append = " gfortran gfortran-symlinks libgfortran libgfortran-dev"
But I get the error:
../../../../../../../../work-shared/gcc-linaro-6.3-r2017.02/git/libgfortran/runtime/backtrace.c:37:33: fatal error: backtrace-supported.h: No such file or directory compilation terminated.
Makefile:2419: recipe for target 'backtrace.lo' failed make[1]: *** [backtrace.lo] Error 1
How can this be solved?
Unfortunately the fortran support in OE was broken for quite some time. This patch series brought in the needed fixes, but did not arrive before the rocko release development cycle. The series looks simple enough to be backported for your specific needs if desired, otherwise check if you can just forward your project to rocko.

glfw makefile fails upon "generating html documentation" on Ubuntu

I am trying to compile and install glfw 3.1.1 for Ubuntu 14.10. The cmake finished successfully, however, when I go to execute the makefile through make it fails at the following:
[ 98%] Building C object tests/CMakeFiles/windows.dir/windows.c.o
Linking C executable windows
[ 98%] Built target windows
Scanning dependencies of target docs
[100%] Generating HTML documentation
Error: tag HTML_HEADER: header file `/home/dennis/Documents/LearningOpenGL/glfw-3.1.1/docs/header.html' does not exist
docs/CMakeFiles/docs.dir/build.make:52: recipe for target 'docs/CMakeFiles/docs' failed
make[2]: *** [docs/CMakeFiles/docs] Error 1
CMakeFiles/Makefile2:1184: recipe for target 'docs/CMakeFiles/docs.dir/all' failed
make[1]: *** [docs/CMakeFiles/docs.dir/all] Error 2
Makefile:116: recipe for target 'all' failed
make: *** [all] Error 2
At first I thought that it is failing an optional step but then I realized that I can't compile my test project as it complains about the glfw header:
main.cpp:2:24: fatal error: GLFW/glfw3.h: No such file or directory
#include <GLFW/glfw3.h>
Thanks
Found the answer! I had to disable the "build documentation" option in the cmake gui.
It seems you just skip compiling the doc instead of fix it.
Simply go to docs/CMakeFiles/docs.dir, modify the file build.make.
For the build target docs/CMakeFiles/docs:, change the doxygen command
from:
doxygen.exe
to
doxygen.exe .

Resources