We have successfully compiled the Ubuntu Desktop using Yocto on Ubuntu 22.04 for the i.MX8MP chip with the following steps:
$ mkdir desktop
$ cd desktop
$ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-mickledore -m imx-6.1.22-2.0.0_desktop.xml
$ repo
$ DISTRO=imx-desktop-xwayland MACHINE=imx8mpevk source imx-setup-desktop.sh -b build-desktop
$ bitbake imx-image-desktop
However, the compiled package does not include dependencies related to machine learning (ML). To add ML-related libraries to Ubuntu, according to the Yocto documentation, we added the following to `local.conf`:
# The meta-ml layer is the integration of NXP eIQ machine learning, which was formerly released as a separate meta-imx-machinelearning layer and is now integrated into the standard BSP image (imx-image-full).
# Many of the features require Qt 6. In case of using other configuration than imx-image-full, put the following in local.conf:
IMAGE_INSTALL:append = " packagegroup-imx-ml"
# To install the NXP eIQ packages to the SDK, put the following in local.conf:
TOOLCHAIN_TARGET_TASK:append = " tensorflow-lite-dev onnxruntime-dev"
We then executed `bitbake -f imx-image-desktop` to compile, but encountered the following error:
ERROR: pytorch-2.0.0-r0 do_package_qa: QA Issue: /usr/lib/python3.11/site-packages/torch/test/test_parallel contained in package pytorch requires libstdc++.so.6(GLIBCXX_3.4.30)(64bit), but no providers found in RDEPENDS:pytorch? [file-rdeps]
ERROR: pytorch-2.0.0-r0 do_package_qa: Fatal QA errors were found, failing task.
ERROR: Logfile of failure stored in: /mnt/nvssd/ubuntu/build-desktop/tmp/work/armv8a-fsl-linux/pytorch/2.0.0-r0/temp/log.do_package_qa.2061988
ERROR: Task (/mnt/nvssd/ubuntu/sources/meta-imx/meta-ml/recipes-libraries/pytorch/pytorch_git.bb:do_package_qa) failed with exit code '1'
"log.do_package_qa.2061988.log" file is the full log
To avoid the error related to pytorch, we took the following actions:
1. In `local.conf`, we masked pytorch and torchvision:
BBMASK+="pytorch"
BBMASK+="torchvision"
2. We also removed information related to torchvision in `/mnt/nvssd/ubuntu/sources/meta-imx/meta-ml/recipes-fsl/packagegroup/packagegroup-imx-ml.bb`:
# These packages don't require any acceleration
ML_PKGS = ""
ML_PKGS:mx8-nxp-bsp = " \
onnxruntime-tests \
deepview-rt-examples \
modelrunner \
tensorflow-lite \
"
ML_PKGS:mx9-nxp-bsp = " \
onnxruntime-tests \
deepview-rt-examples \
modelrunner \
tensorflow-lite \
"
After making these changes and running `bitbake -f imx-image-desktop` again, the compilation reached the `do_rootfs` stage but still failed, with the error logged in `log.do_rootfs`.
"log.do_rootfs.2059955.log" file is the full log
Could you please provide assistance to resolve the above issues and package the ML-related environment dependencies that can be accelerated by the GPU into the Ubuntu Desktop?
Additionally, could you provide a verified version of Ubuntu Desktop that includes ML capabilities?