i.MX8M [file-rdeps] perl, no providers found. error from bitbake

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX8M [file-rdeps] perl, no providers found. error from bitbake

9,585 Views
jekim
Contributor III

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.

Labels (1)
Tags (1)
15 Replies

6,689 Views
ms1
Contributor II

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

6,689 Views
ms1
Contributor II

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

6,689 Views
liyigang
Contributor III

Thank you . You are the best

0 Kudos

6,689 Views
jekim
Contributor III

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

0 Kudos

6,689 Views
aebischerquenti
Contributor III

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

6,689 Views
ms1
Contributor II

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.

6,689 Views
chrisroed
Contributor IV

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

0 Kudos

6,689 Views
Yuri
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

6,689 Views
jekim
Contributor III

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

0 Kudos

6,689 Views
philbot999
Contributor I

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.

0 Kudos

6,689 Views
jekim
Contributor III

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

0 Kudos

6,689 Views
Yuri
NXP Employee
NXP Employee

Hello,

  Also You may try using DISTRO=fsl-imx-wayland and build first the core-image-minimal 

system. 

Regards,

Yuri.

0 Kudos

6,689 Views
jekim
Contributor III

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

0 Kudos

6,689 Views
Yuri
NXP Employee
NXP Employee

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.

0 Kudos

6,689 Views
jekim
Contributor III

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

0 Kudos