Bitbake Add Third Party GitHub Repo - yocto

I am attempting to add a new layer to my bitbake build. There is a GitHub repo that provides code that can read a CAN frame and parse it using a DBC file. I am having trouble getting bitbake to approve of this. The repo is here and it relies on three submodules.
My bb file so far contains:
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRCREV_FORMAT = "linux"
SRC_URI = "git://github.com/xR3b0rn/dbcppp.git;protocol=https;branch=master \
gitsm://github.com/jarro2783/cxxopts.git;protocol=https;branch=master \
gitsm://github.com/GNOME/libxml2.git;protocol=https;branch=master \
gitsm://github.com/xR3b0rn/libxmlmm.git;protocol=https;branch=master \
"
PV = "1.0+git${SRCPV}"
SRCREV = "${AUTOREV}"
S = "${WORKDIR}/git"
When adding the third gitsm line gitsm://github.com/xR3b0rn/libxmlmm.git;protocol=https;branch=master \ I start getting errors.
ERROR: dbcppp-1.0+gitAUTOINC+linux-r0 do_configure: oe_runmake failed
ERROR: dbcppp-1.0+gitAUTOINC+linux-r0 do_configure: Execution of '/home/michael/Documents/MAIN_Application/build-fb/tmp/work/cortexa7t2hf-neon-poky-linux-gnueabi/dbcppp/1.0+gitAUTOINC+linux-r0/temp/run.do_configure.39779' failed with exit code 1
ERROR: Logfile of failure stored in: /home/michael/Documents/MAIN_Application/build-fb/tmp/work/cortexa7t2hf-neon-poky-linux-gnueabi/dbcppp/1.0+gitAUTOINC+linux-r0/temp/log.do_configure.39779
Log data follows:
| DEBUG: Executing python function extend_recipe_sysroot
| NOTE: Direct dependencies are ['/home/michael/Documents/MAIN_Application/sources/poky/meta/recipes-devtools/gcc/gcc-runtime_10.2.bb:do_populate_sysroot', 'virtual:native:/home/michael/Documents/MAIN_Application/sources/poky/meta/recipes-devtools/pseudo/pseudo_git.bb:do_populate_sysroot', '/home/michael/Documents/MAIN_Application/sources/poky/meta/recipes-devtools/quilt/quilt-native_0.66.bb:do_populate_sysroot', '/home/michael/Documents/MAIN_Application/sources/poky/meta/recipes-devtools/gcc/gcc-cross_10.2.bb:do_populate_sysroot', 'virtual:native:/home/michael/Documents/MAIN_Application/sources/poky/meta/recipes-devtools/patch/patch_2.7.6.bb:do_populate_sysroot', '/home/michael/Documents/MAIN_Application/sources/poky/meta/recipes-core/glibc/glibc_2.33.bb:do_populate_sysroot']
| NOTE: Installed into sysroot: []
| NOTE: Skipping as already exists in sysroot: ['gcc-runtime', 'pseudo-native', 'quilt-native', 'gcc-cross-arm', 'patch-native', 'glibc', 'linux-libc-headers', 'libgcc', 'xz-native', 'libmpc-native', 'autoconf-native', 'automake-native', 'mpfr-native', 'binutils-cross-arm', 'zlib-native', 'gmp-native', 'libtool-native', 'flex-native', 'texinfo-dummy-native', 'gnu-config-native', 'attr-native', 'gettext-minimal-native', 'm4-native']
| DEBUG: Python function extend_recipe_sysroot finished
| DEBUG: Executing shell function do_configure
| NOTE: make clean
| Makefile:4: *** config.mk not built. Run configure script.. Stop.
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Execution of '/home/michael/Documents/MAIN_Application/build-fb/tmp/work/cortexa7t2hf-neon-poky-linux-gnueabi/dbcppp/1.0+gitAUTOINC+linux-r0/temp/run.do_configure.39779' failed with exit code 1
ERROR: Task (/home/michael/Documents/MAIN_Application/MAIN_layers/meta-MAINapplication/recipes-core/dbcppp/dbcppp_0.0.bb:do_configure) failed with exit code '1'
This is an oe_runmake error. This confuses me as I have not attempted to add a do_install or do_install_append step.
Note that my goal is to build this code and include it as a library for my application to use.
Edit 1: I updated the bb file (below). The resulting error leads to me to believe that I have to build this, set some rules for oe_runmake to follow.
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRCREV_FORMAT = "xR3b0rn"
SRC_URI = "git://github.com/xR3b0rn/dbcppp.git;protocol=https;branch=master \
gitsm://github.com/jarro2783/cxxopts.git;protocol=https;branch=master \
gitsm://github.com/GNOME/libxml2.git;protocol=https;branch=master \
gitsm://github.com/xR3b0rn/libxmlmm.git;protocol=https;branch=master \
"
PV = "0.0+gitr${SRCPV}"
SRCREV = "${AUTOREV}"
SRCREV_xR3b0rn = "${AUTOREV}"
S = "${WORKDIR}/git"
Edit 2: Using the solution from ensc I am able to build, but I get an odd error.
ERROR: dbcppp-1.0+gitAUTOINC+917c925638-r0 do_packagedata: QA Issue: Package version for package dbcppp-src went backwards which would break package feeds (from 0:1.0+git0+linux-r0 to 0:1.0+git0+917c925638-r0) [version-going-backwards]
ERROR: dbcppp-1.0+gitAUTOINC+917c925638-r0 do_packagedata: QA Issue: Package version for package dbcppp-dbg went backwards which would break package feeds (from 0:1.0+git0+linux-r0 to 0:1.0+git0+917c925638-r0) [version-going-backwards]
ERROR: dbcppp-1.0+gitAUTOINC+917c925638-r0 do_packagedata: QA Issue: Package version for package dbcppp-staticdev went backwards which would break package feeds (from 0:1.0+git0+linux-r0 to 0:1.0+git0+917c925638-r0) [version-going-backwards]
ERROR: dbcppp-1.0+gitAUTOINC+917c925638-r0 do_packagedata: QA Issue: Package version for package dbcppp-dev went backwards which would break package feeds (from 0:1.0+git0+linux-r0 to 0:1.0+git0+917c925638-r0) [version-going-backwards]
ERROR: dbcppp-1.0+gitAUTOINC+917c925638-r0 do_packagedata: QA Issue: Package version for package dbcppp-doc went backwards which would break package feeds (from 0:1.0+git0+linux-r0 to 0:1.0+git0+917c925638-r0) [version-going-backwards]
ERROR: dbcppp-1.0+gitAUTOINC+917c925638-r0 do_packagedata: QA Issue: Package version for package dbcppp-locale went backwards which would break package feeds (from 0:1.0+git0+linux-r0 to 0:1.0+git0+917c925638-r0) [version-going-backwards]
ERROR: dbcppp-1.0+gitAUTOINC+917c925638-r0 do_packagedata: QA Issue: Package version for package dbcppp went backwards which would break package feeds (from 0:1.0+git0+linux-r0 to 0:1.0+git0+917c925638-r0) [version-going-backwards]

write directly
SRC_URI = "gitsm://github.com/xR3b0rn/dbcppp.git;protocol=https;branch=master"
The gitsm fetcher is for downloading repositories with submodules but not for downloading the submodules itself.

As ensc said, gitsm will download submodules too.
Regarding Edit 2, Package version for package dbcppp-src went backwards means that you downgraded package version (you have already built higher version of package then you are trying to build currently).
You should do cleansstate of your package and rerun the build to solve it.
bitbake dbcppp -c cleansstate

Related

NixOS - Issue packaging neovim plugin from github

I'm trying to add a neovim plugin that doesn't exist in nixpkgs yet (modes.nvim), but having trouble getting it to work.
I'm using NixOS 22.05, and Home Manager, and I am using the following to build this plugin:
pkgs.vimUtils.buildVimPlugin {
name = "modes-nvim";
src = pkgs.fetchFromGitHub {
owner = "mvllow";
repo = "modes.nvim";
rev = "3188692abf02a8838ec75e59d68c2ce3e4323f5c";
sha256 = "sha256-2QDpwQ9+F5t5gTR1KLVzRrvriwo5JUHatZEJnc0ojV8=";
};
}
Initially, I used lib.pkgs.fakeSha256 to get a "mismatched hash" error, and copy/pasted the has from that error message, so I think it's correct, though other things I've seen on the internet seem to have the SHA256 as a hex string, so not sure what's going on there.
When I run home-manager switch, I get the following error:
these 12 derivations will be built:
/nix/store/pna2lzjc3q56z59b2kfazzxi8m6swp8d-vimplugin-modes-nvim.drv
/nix/store/mnj1d881d8s57yj3y8wjy7i9nl3m089f-vimplugin-modes-nvim.drv
/nix/store/5l8vqvx2bbawkkj92s8qd0p5hw16pcmq-vim-pack-dir.drv
/nix/store/jgqf68sd50s79pydzs9154p509l5109v-hm_nviminit.vim.drv
/nix/store/rq8f75qr9ahrfr0hvp51inn19088bz5p-manifest.vim.drv
/nix/store/hbzm2xr6nv8mr2l9nrlf742fqdmw9nv3-neovim-0.7.2.drv
/nix/store/zks47ifk7njz1s8y7hvq357ac8z6azkd-neovim-0.7.2-fish-completions.drv
/nix/store/rkaa094vvyjcyy4v1zkh4f8xz64vqxas-cameron-fish-completions.drv
/nix/store/0073403x9b4wv13gm7a6bqy4765pi8g5-home-manager-files.drv
/nix/store/lxwpbhb6ryhwrff4cjyniff11843cf9x-home-manager-path.drv
/nix/store/xbbn44253wjh90md4hqrrc2wfpafkc55-activation-script.drv
/nix/store/ijwmv897xc2wlr1ij4a30vk4z154ikbf-home-manager-generation.drv
building '/nix/store/pna2lzjc3q56z59b2kfazzxi8m6swp8d-vimplugin-modes-nvim.drv'...
Sourcing vim-command-check-hook.sh
Using vimCommandCheckHook
Sourcing vim-gen-doc-hook
unpacking sources
unpacking source archive /nix/store/fcxyif8piqar9w9ynmi6ym71hw6zsy7a-source
source root is source
patching sources
configuring
no configure script, doing nothing
building
build flags: SHELL=/nix/store/iffl6dlplhv22i2xy7n1w51a5r631kmi-bash-5.1-p16/bin/bash
test -r dependencies/pack/vendor/start/plenary.nvim || git clone --depth=1 https://github.com/nvim-lua/plenary.nvim.git dependencies/pack/vendor/start/plenary.nvim
/nix/store/iffl6dlplhv22i2xy7n1w51a5r631kmi-bash-5.1-p16/bin/bash: line 1: git: command not found
make: *** [Makefile:7: install_dependencies] Error 127
error: builder for '/nix/store/pna2lzjc3q56z59b2kfazzxi8m6swp8d-vimplugin-modes-nvim.drv' failed with exit code 2;
last 10 log lines:
> unpacking source archive /nix/store/fcxyif8piqar9w9ynmi6ym71hw6zsy7a-source
> source root is source
> patching sources
> configuring
> no configure script, doing nothing
> building
> build flags: SHELL=/nix/store/iffl6dlplhv22i2xy7n1w51a5r631kmi-bash-5.1-p16/bin/bash
> test -r dependencies/pack/vendor/start/plenary.nvim || git clone --depth=1 https://github.com/nvim-lua/plenary.nvim.git dependencies/pack/vendor/start/plenary.nvim
> /nix/store/iffl6dlplhv22i2xy7n1w51a5r631kmi-bash-5.1-p16/bin/bash: line 1: git: command not found
> make: *** [Makefile:7: install_dependencies] Error 127
For full logs, run 'nix log /nix/store/pna2lzjc3q56z59b2kfazzxi8m6swp8d-vimplugin-modes-nvim.drv'.
error: 1 dependencies of derivation '/nix/store/mnj1d881d8s57yj3y8wjy7i9nl3m089f-vimplugin-modes-nvim.drv' failed to build
error: 1 dependencies of derivation '/nix/store/5l8vqvx2bbawkkj92s8qd0p5hw16pcmq-vim-pack-dir.drv' failed to build
error: 1 dependencies of derivation '/nix/store/jgqf68sd50s79pydzs9154p509l5109v-hm_nviminit.vim.drv' failed to build
error: 1 dependencies of derivation '/nix/store/rq8f75qr9ahrfr0hvp51inn19088bz5p-manifest.vim.drv' failed to build
error: 1 dependencies of derivation '/nix/store/0073403x9b4wv13gm7a6bqy4765pi8g5-home-manager-files.drv' failed to build
error: 1 dependencies of derivation '/nix/store/hbzm2xr6nv8mr2l9nrlf742fqdmw9nv3-neovim-0.7.2.drv' failed to build
error: 1 dependencies of derivation '/nix/store/ijwmv897xc2wlr1ij4a30vk4z154ikbf-home-manager-generation.drv' failed to build
It appears to be failing due to git not being found. Of course, I have git installed for me, but perhaps this command is being run in an environment that doesn't have access to my installed packages.
I'm very new to Nix and NixOS, so I'm not really sure how to begin fixing this issue. I've searched online for answers, but haven't found anything about this issue. Any advice is much appreciated.

Yocto: do_rootfs fails because can't find the package I'm building

Trying to add a new package in my target Intel platform with Yocto build system. New package is intel-cmt-cat and its source code is taken from here. After looking at examples, I created my simple recipe file:
% cat intel-cmt-cat_4.1.0.bb
SUMMARY = "Short summary"
DESCRIPTION = "Short description."
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c63eb1250e8724441150d665efe12012"
SRC_URI = "git://github.com/intel/intel-cmt-cat.git;protocol=https"
SRCREV = "30fadea5cb82ff99f56e46172c7d20fdb24b2338"
S = "${WORKDIR}/git"
Nothing fancy, and should work, however it fails (I removed lengthy dnf command, made it short):
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: myimage-1.0-r0 do_rootfs: Could not invoke dnf.
dnf -v --rpmverbosity=info -y -c dnf.conf package1 package2 ... intel-cmt-cat
...
repo: using cache for: oe-repo
not found other for:
not found modules for:
not found deltainfo for:
not found updateinfo for:
oe-repo: using metadata from Thu 04 Mar 2021 07:12:38 PM UTC.
No module defaults found
No match for argument: intel-cmt-cat
Error: Unable to find a match
...
ERROR: Function failed: do_rootfs
It appears to me that do_rootfs() function is failing. I checked the build directory, and can see that the sources have been fetched and built. However the later steps fail: as you see it is unable to locate my package (as far as I can say).
What am I doing wrong?
After reading manuals at yoctoproject.org, I came up with the following recipe:
SUMMARY = "Short summary"
DESCRIPTION = "Short description."
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c63eb1250e8724441150d665efe12012"
SRC_URI = "git://github.com/intel/intel-cmt-cat.git;protocol=https"
SRCREV = "30fadea5cb82ff99f56e46172c7d20fdb24b2338"
S = "${WORKDIR}/git"
TARGET_CC_ARCH += "${LDFLAGS}"
do_compile() {
oe_runmake PREFIX=/usr
}
do_install() {
oe_runmake PREFIX=${D}/usr NOLDCONFIG=y install
rm -rf ${D}/usr/man
rm -rf ${D}/usr/include
}
INSANE_SKIP_${PN} += "already-stripped"
FILES_${PN} += "${libdir}/libpqos* ${bindir}/pqos* ${bindir}/rdtset"}
intel-cmt-cat does not use cmake, just good old make and Makefile.
I only rely on the package's LDFLAGS and don't pass any in the recipe, so this caused error during build:
No GNU_HASH in the elf binary: ...
In order to workaround this, add TARGET_CC_ARCH directive.
I explicitly call oe_runmake fuunction as I want to pass on a different PREFIX value (default is /usr/local); next in do_install I pass on NOLDCONFIG=y which will not invoke ldconfig and finally skips checking (via directive INSANE_SKIP) if generated binaries have not already been stripped. This is done because the Makefile already calls install -s ... and I didn't want to patch Makefile etc.

QA Issue: libvncserver: Files/directories were installed but not shipped in any package:

While generating sato image by bitbake core-iamge-sato, I am getting following errors
ERROR: libvncserver-0.9.12+gitAUTOINC+c0a23857a5-r0 do_package: QA Issue: libvncserver: Files/directories were installed but not shipped in any package:
/usr/lib/libvncclient.so
/usr/lib/libvncserver.so
/usr/lib/libvncserver.so.1
/usr/lib/libvncclient.so.0.9.12
/usr/lib/libvncclient.so.1
/usr/lib/libvncserver.so.0.9.12
/usr/lib/pkgconfig
/usr/lib/pkgconfig/libvncclient.pc
/usr/lib/pkgconfig/libvncserver.pc
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
libvncserver: 9 installed and not shipped files. [installed-vs-shipped]
ERROR: libvncserver-0.9.12+gitAUTOINC+c0a23857a5-r0 do_package: Fatal QA errors found, failing task.
ERROR: libvncserver-0.9.12+gitAUTOINC+c0a23857a5-r0 do_package:
ERROR: libvncserver-0.9.12+gitAUTOINC+c0a23857a5-r0 do_package: Function failed: do_package
ERROR: Logfile of failure stored in: /home/panther2/warrior/build/tmp/work/corei7-64-poky-linux/libvncserver/0.9.12+gitAUTOINC+c0a23857a5-r0/temp/log.do_package.101719
ERROR: Task (/home/panther2/warrior/sources/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_git.bb:do_package) failed with exit code '1'
I am building for warrior branch. As a solution I tried adding following lines in libvncserver_git.bb but nothing worked out. Can anyone help?
FILES_${PN} += " \
${libdir}/libvncclient.so \
${libdir}/libvncserver.so \
${libdir}/libvncserver.so.1 \
${libdir}/libvncclient.so.0.9.12 \
${libdir}/libvncclient.so.1 \
${libdir}/libvncserver.so.0.9.12 \
${libdir}/pkgconfig \
${libdir}/pkgconfig/libvncclient.pc \
${libdir}/pkgconfig/libvncserver.pc \
"
Thank you for your time.
Background: you're using a configuration where $libdir isn't /usr/lib (multilib, probably) but the upstream doesn't care and installs to /usr/lib anyway, which is a bug upstream.
As suggested in comment, I have resolved the error by replacing recipe file from master branch(libvncserver_0.9.12.bb). I was using warrior branch recipe libvncserver_git.bb which causes error.

Error on building Openembedded for Intel Quark

Trying to build Linux for Advantech UBC-221 that has Intel Quark processor.
The system is Debian 9, running on VMware. Was able to build poky succefully before.
Let me summarize what I was doing:
mkdir quark
cd quark
git clone git://git.yoctoproject.org/meta-intel-quark
git clone git://git.openembedded.org/openembedded-core
git clone git://git.yoctoproject.org/poky
cp -r poky/bitbake .
cd openembedded-core
source oe-init-build-env
bitbake-layers add-layer ~/quark/meta-intel-quark/
bitbake core-image-base
Error code I get:
WARNING: Layer quark-bsp should set LAYERSERIES_COMPAT_quark-bsp in its conf/layer.conf file to list the core layer names it is compatible with.
WARNING: Layer quark-bsp should set LAYERSERIES_COMPAT_quark-bsp in its conf/layer.conf file to list the core layer names it is compatible with.
WARNING: /home/bgabor/quark/meta-intel-quark/recipes-kernel/linux/linux-yocto-quark_3.8.bb: Variable key RDEPENDS_${KERNEL_PACKAGE_NAME}-base (${KERNEL_PACKAGE_NAME}-image) replaces original key RDEPENDS_kernel-base ().
WARNING: /home/bgabor/quark/meta-intel-quark/recipes-bsp/grub/grub_0.97.bb: Exception during build_dependencies for CFLAGS
WARNING: /home/bgabor/quark/meta-intel-quark/recipes-bsp/grub/grub_0.97.bb: Error during finalise of /home/bgabor/quark/meta-intel-quark/recipes-bsp/grub/grub_0.97.bb
ERROR: ExpansionError during parsing /home/bgabor/quark/meta-intel-quark/recipes-bsp/grub/grub_0.97.bb
Traceback (most recent call last):
bb.data_smart.ExpansionError: Failure expanding variable CFLAGS, expression was -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/bgabor/quark/openembedded-core/build/tmp-glibc/work/i586-oe-linux/grub/0.97+gitAUTOINC+5775f32a62-r0=/usr/src/debug/grub/0.97+gitAUTOINC+5775f32a62-r0 -fdebug-prefix-map=/home/bgabor/quark/openembedded-core/build/tmp-glibc/work/i586-oe-linux/grub/0.97+gitAUTOINC+5775f32a62-r0/recipe-sysroot= -fdebug-prefix-map=/home/bgabor/quark/openembedded-core/build/tmp-glibc/work/i586-oe-linux/grub/0.97+gitAUTOINC+5775f32a62-r0/recipe-sysroot-native= -Os -fno-strict-aliasing -Wall -Werror -Wno-shadow -Wno-unused -Wno-pointer-sign -DINTEL_QUARK_TEST=${#base_contains('PACKAGECONFIG', 'grub_test', '1', '0', d)} which triggered exception NameError: name 'base_contains' is not defined
Summary: There were 5 WARNING messages shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
I'm pretty much stuck here. Some help would be greatly appreciated!
Edit:
Tried to build on Debian 7.11 32 bit system. It went better however another error came:
bgabor#debian:~/quark/dizzy/build$ bitbake core-image-base
WARNING: Host distribution "Debian-7.11" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |####################################################################################################################################################| ETA: 00:00:00
Loaded 1292 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION = "1.24.0"
BUILD_SYS = "i686-linux"
NATIVELSBSTRING = "Debian-7.11"
TARGET_SYS = "i586-poky-linux"
MACHINE = "quark"
DISTRO = "poky"
DISTRO_VERSION = "1.7.3"
TUNE_FEATURES = "m32 i586"
TARGET_FPU = ""
meta
meta-yocto
meta-yocto-bsp = "dizzy:58863ad092c9a279e305c841dbb4353de2ecfae8"
meta-intel-quark = "master:a314f0ceea986fde42d5d9b0ea449f7a563e9351"
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: Unable to install packages. Command '/home/bgabor/quark/dizzy/build/tmp/sysroots/i686-linux/usr/bin/smart --quiet --data-dir=/home/bgabor/quark/dizzy/build/tmp/work/quark-poky-linux/core-image-minimal-initramfs/1.0-r0/rootfs/var/lib/smart install -y busybox#i586 initramfs-live-install-efi#i586 run-postinsts#all initramfs-live-install#i586 udev#i586 initramfs-live-boot#quark base-passwd#i586' returned 1:
error: Can't install initramfs-live-install-1.0-r9#i586: no package provides grub
ERROR: Function failed: do_rootfs
ERROR: Logfile of failure stored in: /home/bgabor/quark/dizzy/build/tmp/work/quark-poky-linux/core-image-minimal-initramfs/1.0-r0/temp/log.do_rootfs.29435
ERROR: Task 240 (/home/bgabor/quark/dizzy/meta/recipes-core/images/core-image-minimal-initramfs.bb, do_rootfs) failed with exit code '1'
NOTE: Tasks Summary: Attempted 2529 tasks of which 2527 didn't need to be rerun and 1 failed.
No currently running tasks (2435 of 2531)
Summary: 1 task failed:
/home/bgabor/quark/dizzy/meta/recipes-core/images/core-image-minimal-initramfs.bb, do_rootfs
Summary: There was 1 WARNING message shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
It does not find grub package, however I can see there are two in the recipes:
bgabor#debian:~/quark/dizzy/build$ bitbake-layers show-recipes | grep "grub" -A 3
Parsing recipes..done.
grub:
meta-intel-quark 0.97+gitAUTOINC+5775f32a62
meta 0.97
meta 2.00
--
grub-conf:
meta-intel-quark 1.0
grub-efi:
meta 2.00
gsettings-desktop-schemas:
meta 3.10.1
Tried to clean and then bitbake again but no result.
What might be the problem here?
First, Poky includes OpenEmbedded Core so you don't need to clone both, just clone Poky.
Second, the meta-intel-iot layer is pretty dead and only formally supports the Daisy release of Poky (see the README). You may have luck using newer releases, but obviously not git master (aka Thud).
https://wiki.yoctoproject.org/wiki/Releases lists the releases. Instead of checking out master of Poky, check out the relevant release branch. I suggest starting with daisy but trying something a little newer such as jethro would be a good idea.

Custom recipe for mgetty in yocto project

I have tried to create a custom recipe, in Yocto project, for mgetty. But when I build my custom image, there are some issues that I cannot figure out.
This is my custom mgetty_1.2.0.bb
DESCRIPTION = "mgetty 1.2.0 recipe"
SECTION = "mgetty"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=fd3b2e6132b4ff4cb475558807ded25f"
SRC_URI = "ftp://mgetty.greenie.net/pub/mgetty/source/1.2/mgetty-${PV}.tar.gz"
SRC_URI[md5sum] = "6700f55a61f3a71ce7b882a0d0b82d19"
inherit autotools
And this is the error output:
ERROR: mgetty-1.2.0-r0 do_compile: oe_runmake failed
ERROR: mgetty-1.2.0-r0 do_compile: Function failed: do_compile (log file is
located at [...path...])
ERROR: Logfile of failure stored in: [...path...]
Log data follows:
| DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common', 'arm-32',
'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi', 'common']
| DEBUG: Executing shell function do_compile
| NOTE: make -j 8
| make: *** No targets specified and no makefile found. Stop.
| ERROR: oe_runmake failed
| WARNING: [...path...] exit 1 from 'exit 1'
| ERROR: Function failed: do_compile (log file is located at [...path...])
ERROR: Task ([...path...]/recipes-mgetty/mgetty/mgetty_1.2.0.bb:do_compile)
failed with exit code '1'
NOTE: Tasks Summary: Attempted 2741 tasks of which 2734 didn't need to be
rerun and 1 failed.
NOTE: Writing buildhistory
Did I missed something in my recipe?
I'd suggest using devtool if you are new to Yocto. So, in this case:
devtool add mgetty ftp://mgetty.greenie.net/pub/mgetty/source/1.2/mgetty-1.2.0.tar.gz
This will create a local workspace for you with the recipe and sources. Now, devtool should be able to detect some of the things automatically based on presence of certain files in the package.
But, for projects like this, you might have to make changes to the Makefile as well to make sure that it doesn't override the compiler and flags variables. So, in this case, make changes to ensure CC, CFLAGS, LDFLAGS is not over-ridden etc. (replacing = with ?= would be one way of doing it). Once that is done, use 'devtool build' to build your recipe and resolve any further issues.
Once you're done with the changes, please create commits for them in the devtool workspace and use 'devtool finish' to create patches for these commits and have them included them in your recipe. See:
https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#sdk-devtool-use-devtool-modify-to-modify-the-source-of-an-existing-component
For more information, refer to the manual.