PULP SDK build process - riscv

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.

Related

Yocto autotools do_compile fails

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.

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 (platform-rtl)

I'm following the tutorial on PULP SDK build process "https://github.com/pulp-platform/pulp-sdk/blob/b38dabd571287b6183f17a2c5538382b9d3fe668/README.md". 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.
ImportError: No module named 'sphinx'
Makefile:56: recipe for target 'html' failed
make[2]: * [html] Error 1
Makefile:14: recipe for target 'all' failed
make[1]: * [all] Error 2
Reached EOF with exit status 2
FATAL ERROR: the command 'build' has failed
Makefile:6: recipe for target 'all' failed
make: *** [all] Error 255
I had a similar problem, this error is caused by not (correctly) installing the pulp-riscv-gnu-toolchain.
So you should first install this toolchain which can be found here https://github.com/pulp-platform/pulp-riscv-gnu-toolchain.
After that you should follow the steps for "Installation (Pulp)" and replace the command for make to sudo make.
Now you can return to your tutorial on PULP SDK build process.
In case you are still encountering the same error than you should execute this command which I found here cannot open libmpfr.so.4 after update on ubuntu 18.04
sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4
" Bear in mind that this is just workaround which might trigger other issues for your case. However, this might save you the day in cases when the problematic program is just a mean to achieve something else."

Kernel "make module_install" always gives error

Hey guys i am trying to command a custom system call.
I tried every step given on this website.
But whenever i enter the " make modules_install install " command i always get this error :
INSTALL arch/x86/crypto/aes-x86_64.ko
cp: cannot stat 'arch/x86/crypto/aes-x86_64.ko': No such file or directory
Can't read module
scripts/Makefile.modinst:30: recipe for target 'arch/x86/crypto/aes-x86_64.ko' failed
make[1]: *** [arch/x86/crypto/aes-x86_64.ko] Error 2
Makefile:1077: recipe for target '_modinst_' failed
make: *** [_modinst_] Error 2
I searched everywhere but i am unable to find any answer.
Looking forward for a solution.

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