Linux version : Ubuntu 18.04
repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-rocko -m
imx-4.9.88-2.0.0_ga.xml
DISTRO=fsl-imx-xwayland MACHINE=imx8mqevk source fsl-setup-release.sh -b build-xwayland
bitbake fsl-image-validation-imx
ERROR: linux-firmware-1_0.0+gitAUTOINC+bf04291309_a0026b646c-r0 do_package_qa: QA Issue: /lib/firmware/murata/.git/hooks/fsmonitor-watchman.sample contained in package linux-firmware requires /usr/bin/perl, but no providers found in RDEPENDS_linux-firmware? [file-rdeps]
ERROR: linux-firmware-1_0.0+gitAUTOINC+bf04291309_a0026b646c-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: linux-firmware-1_0.0+gitAUTOINC+bf04291309_a0026b646c-r0 do_package_qa: Function failed: do_package_qa
ERROR: Logfile of failure stored in: /home/user/imx-yocto-bsp/build-xwayland/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+bf04291309_a0026b646c-r0/temp/log.do_package_qa.1061
ERROR: Task (/home/user/imx-yocto-bsp/sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-kernel/linux-firmware/linux-firmware_git.bb:do_package_qa) failed with exit code '1'
NOTE: Tasks Summary: Attempted 6743 tasks of which 6720 didn't need to be rerun and 1 failed.
Summary: 1 task failed:
/home/user/imx-yocto-bsp/sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-kernel/linux-firmware/linux-firmware_git.bb:do_package_qa
Summary: There was 1 WARNING message shown.
Summary: There were 3 ERROR messages shown, returning a non-zero exit code.
Do I need to modify Linux-firmware_git.bb file for RDEPENDS? If so, how to modify this?
As far as I know, Ubuntu 18.04 is not validated yet for the build. Could it cause above file-rdeps error?
I might have to install another version such as Ubuntu 16.04 if necessary.
Is it possible to complete bitbake with Ubuntu 18.04 by fixing file-rdeps error?
Any comment for this problem will be highly appreciated.
I ask myself: What does the .git directory do in the murata directory. It looks like it is an artifact that does not belong there and must be removed before the package is generated.
The QA step ist right but the answer is misleading.
The Problem is the sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-kernel/linux-firmware/linux-firmware_git.bbappend.
It clones into git/murata/ so that the directory git/murata/.git is created. The git/murata/.git directory finds it's way into the sysroot and package directory, because the whole git/murata directory is copied over by the main recipe. The main recipe does not expect it needs to remove some .git directories.
the linux-firmware_git.bbappend needs to be fixed somehow.
Regards,
Michael
I have found a quick and dirty workaround.
I have added the following lines to the linux-firmware_git.bbappend:
do_install_prepend () {
rm -rf ${S}/murata/.git
}
Which removes the git directory before the package is build. Maybe there is a better location like do_fetch_append or something even better, but in the meantime it wors for me.
Regards,
Michael
Thank you . You are the best
Hi Michael,
Thank you for the tip. I don't see the error since I switched from Ubuntu 18.04 to 16.04.
Anyway, I hope to remind your tip when I encounter similar situation in the future.
Regards,
Jeff
I stumbled upon the same error when trying to compile using a docker container.
Neither 14.04 nor 16.04 ubuntu based container worked for me.
I got rid of the error by adding the following line to the sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-kernel/linux-firmware/linux-firmware_git.bbappend:
RDEPENDS_${PN} = "perl"
I didn't try your fix but I guess it would have worked too.
Hope this helps
Quentin
It works, but adds the package perl unnessesarrlily. It just masks the symptom but does not heal the cause.
The root cause for this error is the bbappend which causes the recipe to clone a git repository into the existing git repository. The main .git folder is ignored, but not the newly introduced one. The new newly introduced murata/.git folder, contains a commit hook written in perl. the QA (Quality Assurance) task throws an error because it finds this perl script but no perl interpreter. On the other hand this ,git folder is not meant to go into the image, so just remove it. Adding the Runtime dependency (RDEPENDS) adds perl which might not be is not otherwise in the image. When you have the intention to have a very small image, this can be a problem.
Thanks! This fix works for Arch Linux as well (as of the date I posted this)
PS for anyone trying Arch Linux with yocto I had to downgrade gcc to (GCC) 7.3.1 20180406 to avoid an elfutils error
Hello,
You are right - Ubuntu 18.04 is not validated yet for the build.
Nevertheless, please try to perform "repo sync" after "repo init".
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Yuri,
Thank you for the comment. I tried "repo sync" and bitbake again. Unfortunately it was not successful with identical error message.
Best Regards,
Jeff
I am seeing exactly the same issue. I am using Ubuntu 18.04 as well.
Have you figured out how to make it work? Thanks.
Hi Phil,
I haven't found the solution yet. I might have to install Ubuntu 16.04 instead.
If you see the solution, please let me know. Thanks.
Best Regards,
Jeff
Hello,
Also You may try using DISTRO=fsl-imx-wayland and build first the core-image-minimal
system.
Regards,
Yuri.
Hi Yuri,
Thank you for input. I already tried DISTRO=fsl-imx-wayland and build fsl-image-validation-imx.
It reported codec fetch failure even with Ubuntu 16.04 version.
Now I'm trying the build w/o Yocto according to Linux User Guide.
4.5.12 How to build U-Boot and Kernel in standalone environment
4.5.13 How to build imx-boot image by using imx-mkimage
I'm struggling with 4.5.13 now. I could issue another question for that later.
Regards,
Jeff
Hello,
I managed to build fsl-image-validation-imx with option DISTRO=fsl-imx-wayland under
Debian 9, using instructions of "i.MX_Yocto_Project_User's_Guide.pdf".
Regards,
Yuri.
Hi Yuri,
Thank you for the information. Btw, I've generated flash.bin file as a result of 4.5.13 in Linux Guide.
So, I'm going to copy it to SD card. I'm not sure how it will work later on.
If I encounter any problem from bootloader or whatever, I will consider Debian 9 as you suggested.
Regards,
Jeff