Missing libmedialib-api dependency Hailo-15 Yocto Toolchain

Hello,

I am trying to build the AI Example App (tappas/apps/h15/native/ai_example_app at master-vpu · hailo-ai/tappas · GitHub) for the Hailo-15. The documentation is quite poor and scattered into multiple files, which does not help.

I figured that I need to build a Yocto toolchain to be able to run the scripts here tappas/tools/cross_compiler at master-vpu · hailo-ai/tappas · GitHub (the README there is quite misleading to me with a tutorial for NXP IMX on the VPU branch). Therefore, I am trying to build the Yocto toolchain according to the tappas/docs/installation/yocto.rst at master-vpu · hailo-ai/tappas · GitHub. I am on the VPU branch (GitHub - hailo-ai/meta-hailo at kirkstone-vpu), my bblayers.conf is the following:

cat conf/bblayers.conf 
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"

BBPATH = "${TOPDIR}"
BBFILES ?= ""

BBLAYERS ?= " \
  /home/david/Downloads/poky/meta \
  /home/david/Downloads/poky/meta-poky \
  /home/david/Downloads/poky/meta-yocto-bsp \
  "

BBLAYERS += "/home/david/Downloads/meta-hailo/meta-hailo-accelerator \
             /home/david/Downloads/meta-hailo/meta-hailo-libhailort \
             /home/david/Downloads/meta-hailo/meta-hailo-tappas \
             /home/david/Downloads/meta-openembedded/meta-oe "

and my local.conf contains the following:

grep "^[^#;]" conf/local.conf 
MACHINE ??= "qemuarm64"
DISTRO ?= "poky"
PACKAGE_CLASSES ?= "package_rpm"
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS ??= "\
    STOPTASKS,${TMPDIR},1G,100K \
    STOPTASKS,${DL_DIR},1G,100K \
    STOPTASKS,${SSTATE_DIR},1G,100K \
    STOPTASKS,/tmp,100M,100K \
    HALT,${TMPDIR},100M,1K \
    HALT,${DL_DIR},100M,1K \
    HALT,${SSTATE_DIR},100M,1K \
    HALT,/tmp,10M,1K"
PACKAGECONFIG:append:pn-qemu-system-native = " sdl"
CONF_VERSION = "2"
IMAGE_INSTALL += "hailo-firmware \
                  libhailort \
                  hailortcli \
                  hailo-pci \
                  libgsthailo \
                  libgsthailotools \
                  tappas-apps \
                  hailo-post-processes \
                  tappas-tracers"
BB_NUMBER_THREADS = "4"

Neither documentation specifies what should be the MACHINE, so I used the qemuarm64.

When I run bitbake as bitbake -c do_populate_sdk core-image-minimal I get the following error:

Loading cache: 100% |                                                                                                                           | ETA:  --:--:--
Loaded 0 entries from dependency cache.
Parsing recipes: 100% |##########################################################################################################################| Time: 0:00:37
Parsing of 1765 .bb files complete (0 cached, 1765 parsed). 2804 targets, 104 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing PROVIDES 'libmedialib-api' (but /home/david/Downloads/meta-hailo/meta-hailo-tappas/recipes-gstreamer/tappas-apps/tappas-apps_3.29.1.bb DEPENDS on or otherwise requires it)
NOTE: Runtime target 'tappas-apps' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['tappas-apps', 'libmedialib-api']
NOTE: Runtime target 'packagegroup-hailo-tappas-dev-pkg' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['packagegroup-hailo-tappas-dev-pkg', 'tappas-apps', 'libmedialib-api']
ERROR: Required build target 'core-image-minimal' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-minimal', 'packagegroup-hailo-tappas-dev-pkg', 'tappas-apps', 'libmedialib-api']

I am not able to find anything reasonable about the libmedialib-api or how could I resolve the dependency issue.

I have also tried removing the dependency from the configuration files in GitHub - hailo-ai/meta-hailo at kirkstone-vpu. Then I am able to build the toolchain install it:

sudo ./poky-glibc-x86_64-core-image-minimal-cortexa57-qemuarm64-toolchain-4.0.22.sh 
Poky (Yocto Project Reference Distro) SDK installer version 4.0.22
==================================================================
Enter target directory for SDK (default: /opt/poky/4.0.22): /home/david/toolchain
You are about to install the SDK to "/home/david/toolchain". Proceed [Y/n]? y
Extracting SDK.....................................................................................................................................................................done
Setting it up...done
SDK has been successfully set up and is ready to be used.
Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g.
 $ . /home/david/toolchain/environment-setup-cortexa57-poky-linux

but when I run this tappas/tools/cross_compiler/cross_compile_native_apps.py at master-vpu · hailo-ai/tappas · GitHub script I get the following missing dependencies:

python ./cross_compile_native_apps.py hailo15 release ~/toolchain/
[sudo] password for david: 
INFO:/home/david/Downloads/tappas/tools/cross_compiler/common.py:Building native-apps
Build dir: /home/david/Downloads/tappas/tools/cross_compiler/armv8a-native-apps-build-release/native
INFO:/home/david/Downloads/tappas/tools/cross_compiler/common.py:Running Meson build.
meson-wrapper: Implicit setup command assumed
meson-wrapper: Running meson with setup options: " --cross-file=/home/david/toolchain/sysroots/x86_64-pokysdk-linux/usr/share/meson/aarch64-poky-linux-meson.cross --native-file=/home/david/toolchain/sysroots/x86_64-pokysdk-linux/usr/share/meson/meson.native "
The Meson build system
Version: 0.61.3
Source dir: /home/david/Downloads/tappas/apps/h15/native
Build dir: /home/david/Downloads/tappas/tools/cross_compiler/armv8a-native-apps-build-release/native
Build type: cross build
Project name: gst-hailo-tools
Project version: 1.0.0
C compiler for the host machine: aarch64-poky-linux-gcc -mcpu=cortex-a57 -march=armv8-a+crc -mbranch-protection=standard -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/home/david/toolchain/sysroots/cortexa57-poky-linux (gcc 11.5.0 "aarch64-poky-linux-gcc (GCC) 11.5.0")
C linker for the host machine: aarch64-poky-linux-gcc -mcpu=cortex-a57 -march=armv8-a+crc -mbranch-protection=standard -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/home/david/toolchain/sysroots/cortexa57-poky-linux ld.bfd 2.38.20220708
C++ compiler for the host machine: aarch64-poky-linux-g++ -mcpu=cortex-a57 -march=armv8-a+crc -mbranch-protection=standard -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/home/david/toolchain/sysroots/cortexa57-poky-linux (gcc 11.5.0 "aarch64-poky-linux-g++ (GCC) 11.5.0")
C++ linker for the host machine: aarch64-poky-linux-g++ -mcpu=cortex-a57 -march=armv8-a+crc -mbranch-protection=standard -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/home/david/toolchain/sysroots/cortexa57-poky-linux ld.bfd 2.38.20220708
C compiler for the build machine: gcc (gcc 9.5.0 "gcc (Ubuntu 9.5.0-1ubuntu1~22.04) 9.5.0")
C linker for the build machine: gcc ld.bfd 2.38
C++ compiler for the build machine: g++ (gcc 9.5.0 "g++ (Ubuntu 9.5.0-1ubuntu1~22.04) 9.5.0")
C++ linker for the build machine: g++ ld.bfd 2.38
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86_64
Target machine cpu: x86_64
Message: GCC >= 9.0.0 detected, applying extra arguments.
Found pkg-config: /home/david/toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/pkg-config (0.29.2)
Run-time dependency gstreamer-1.0 found: YES 1.20.7
Run-time dependency gstreamer-base-1.0 found: YES 1.20.7
Run-time dependency gstreamer-app-1.0 found: YES 1.20.7
Run-time dependency gstreamer-video-1.0 found: YES 1.20.7
Run-time dependency opencv4 found: YES 4.5.5
Run-time dependency tappas_image_utils found: NO (tried pkgconfig)

meson.build:49:0: ERROR: Dependency "tappas_image_utils" not found, tried pkgconfig

A full log can be found at /home/david/Downloads/tappas/tools/cross_compiler/armv8a-native-apps-build-release/native/meson-logs/meson-log.txt
Traceback (most recent call last):
  File "/home/david/Downloads/tappas/tools/cross_compiler/./cross_compile_native_apps.py", line 87, in <module>
    gst_installer.build()
  File "/home/david/Downloads/tappas/tools/cross_compiler/common.py", line 293, in build
    self.run_meson_build_command(env)
  File "/home/david/Downloads/tappas/tools/cross_compiler/common.py", line 216, in run_meson_build_command
    self._runner.run(build_cmd, env=env, print_output=True)
  File "/home/david/Downloads/tappas/tools/cross_compiler/common.py", line 113, in run
    p.check_returncode()
  File "/usr/lib/python3.10/subprocess.py", line 457, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['meson', '/home/david/Downloads/tappas/tools/cross_compiler/armv8a-native-apps-build-release/native', '--buildtype', 'release', '-Dlibargs=-I/home/david/toolchain/sysroots/armv8a-poky-linux/usr/include/hailort,-I/home/david/toolchain/sysroots/armv8a-poky-linux/usr/include/gst-hailo/metadata,-std=c++17', '-Dprefix=/home/david/toolchain/sysroots/armv8a-poky-linux/usr', '-Dlibcxxopts=/home/david/Downloads/tappas/core/open_source/cxxopts']' returned non-zero exit status 1.

I am on Ubuntu 22.04 x86_64 machine and I have the official Hailo-15H development kit connected to my PC and available via SSH.

Thank you for any help.
David