yocto build error, How to skip to make clean.
When building a yocto project, the following message is displayed.
/bin/bash: line 1: glib-mkenums: command not found
/bin/bash: glib-genmarshal: command not found
DEPENDS = "glib-2.0 libxml2 bison-native flex-native glib-2.0-native"
Add glib-2.0-native into DEPENDS of .bb file.
There is a make clean step in do_configure by default. Apparently the Makefile you are using misses that target. Just do this definition in your recipe:CLEANBROKEN = "1"
This will skip the make clean step.
Links to the documentation:
- about do_configure: https://www.yoctoproject.org/docs/2.4/mega-manual/mega-manual.html#ref-tasks-configure
- CLEANBROKEN variable: https://www.yoctoproject.org/docs/2.4/mega-manual/mega-manual.html#var-CLEANBROKEN
BTW you can remove your empty do_clean - it is unrelated to the error you are seeing.
하나만 재 빌드 하고 싶을 때
Sounds like a broken package. First things first, try cleaning it and rebuilding
bitbake -c cleanall batctl
bitbake -c cleanall batman-adv
bitbake batman-adv
bitbake batctl
Also, do you actually need those packages? If not just remove them by adding to your local.conf
IMAGE_INSTALL_remove = " batctl batman-adv "
레시피 만들어주는 툴이 있나보네
recipetool create -d -o snappy_1.0.bb https://ftp.gnome.org/pub/gnome/sources/snappy/1.0/snappy-1.0.tar.xz
By default, this directory is ${WORKDIR}/${BPN}-${PV}, where ${BPN} is the base recipe name and ${PV} is the recipe version.
레시피 고장났을 때 RDEPENDS 에 넣어야할 레시피 이름 찾는 방법
MACHINE=nf-64 DISTRO=qsap VARIANT=perf oe-pkgdata-util find-path /usr/lib64/libwpa_client.so
어떤 레시피에 대한 환경변수가 궁금할 때 ( ${WORKDIR} 을 보고싶을 때)
쪼금 오래 걸림
Using bitbake environment option -e
bitbake -e <recipe-name> | grep ^WORKDIR=
For any recipe, you can find the values of any variable by getting an environment file as:
bitbake -e recipe_name > env
WORKDIR
The pathname of the work directory in which the OpenEmbedded build system builds a recipe. This directory is located within the TMPDIR directory structure and is specific to the recipe being built and the system for which it is being built.
The WORKDIR directory is defined as follows:
${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}
The actual directory depends on several things:
TMPDIR: The top-level build output directory
MULTIMACH_TARGET_SYS: The target system identifier
PN: The recipe name
EXTENDPE: The epoch - (if PE is not specified, which is usually the >case for most recipes, then EXTENDPE is blank)
PV: The recipe version
PR: The recipe revision
As an example, assume a Source Directory top-level folder name poky, a default Build Directory at poky/build, and a qemux86-poky-linux machine target system. Furthermore, suppose your recipe is named foo_1.3.0-r0.bb. In this case, the work directory the build system uses to build the package would be as follows:
poky/build/tmp/work/qemux86-poky-linux/foo/1.3.0-r0
http://www.yoctoproject.org/docs/2.1/ref-manual/ref-manual.html#var-WORKDIR
${TMPDIR} will be the folder named "tmp" within your Yocto build directory.
'Embeded' 카테고리의 다른 글
yocto build 용 docker 설정. (0) | 2020.07.09 |
---|---|
cpu governor 확인하기 (0) | 2019.10.09 |
MediaTek Smart Phone Flash Tool Error (Ubuntu) (0) | 2019.08.21 |