[yocto] Adding a shared object file to rootfs

Sathish Kumar Balasubramaniam -ERS, HCL Tech b-sathishkumar at hcl.com
Fri Jul 4 01:42:23 PDT 2014


Thanks, Robert Yang.

Method using abc.bb:
~~~~~~~~~~~~~~~~

Before I tried using abc.bb, but I faced an error that says unknown package abc and something like opkg_install_cmd: cannot install .....
Hence I thought of trying linux-kernel_3.4.bbappend.

But now I added like the following to the abc.bb file (before I didn't give the -dbg line)

FILES_${PN} += "${base_libdir}"
FILES_${PN}-dbg += "${base_libdir}/.debug"
FILES_SOLIBSDEV = ""

Now it's working :)   --------> This is fine for me and as you said, this is the recommended way too.

Method using linux-kernel_3.4.bb just for analysis :
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I tried to add FILES_kernel-vmlinux like the following

do_install_append () {
        install -d ${D}${base_libdir}
        install -m 0644 ${WORKDIR}/abc.so ${D}${base_libdir}
}

FILES_kernel-vmlinux += "${base_libdir}"
FILES_kernel-vmlinux-dbg += "${base_libdir}/.debug"

I am getting the following error

ERROR: QA Issue: non debug package contains .debug directory: kernel-vmlinux path /work/<machine>-poky-linux-gnueabi/linux-yocto/3.4+<version>/packages-split/kernel-vmlinux/lib/.debug/abc.so


Regards,
Sathish

-----Original Message-----
From: Robert Yang [mailto:liezhi.yang at windriver.com] 
Sent: Friday, July 04, 2014 6:07 AM
To: Sathish Kumar Balasubramaniam -ERS, HCL Tech; yocto at yoctoproject.org
Subject: Re: [yocto] Adding a shared object file to rootfs


Hello,

I think that there are two problems:

1) You can use a abc.bb to add the abc.so rather than .bbappend, then you can
    add something like:
    IMAGE_INSTALL_append = "abc"

    to conf/local.conf.

2) Please see my comments inline.

On 07/04/2014 01:11 AM, Sathish Kumar Balasubramaniam -ERS, HCL Tech wrote:
> I tried to add the abc.so using a linux-yocto_3.4.bbappend like the following
>
> SRC_URI += "file://abc.so"
>
> do_install_append() {
>
>                  install -d ${D}${base_libdir}
>
>                  install -m 0644 ${WORKDIR}/abc.so ${D}${base_libdir}/
>
> }
>
> FILES_${PN} += "${base_libdir}/*.so"

The linux-yocto_3.4.bb doesn't generate a linux-yocto.rpm since linux-yocto
(the ${PN}) doesn't in PACKAGES, you can use bitbake -e linux-yocto to
see this, and if you really want to use linux-yocto_3.4.bbappend,
you can use (WARN: this is highly suggested NOT)

FILES_kernel-vmlinux += "${base_libdir}/abc.so"

Then maybe you would get the warning about unshipped  /lib/.debug
and /lib/.debug/abc.so, you need add them to kernel-vmlinux-dgb. Again,
this is highly suggested not, The suggested way is abc.bb.

// Robert

>
> FILES_SOLIBSDEV = ""
>
> However still I am getting the following error
>
> ERROR: QA Issue: linux-yocto: Files/directories were installed but not shipped
>
>    /lib/abc.so
>
>    /lib/.debug
>
>    /lib/.debug/abc.so
>
> ERROR: QA run found fatal errors. Please consider fixing them.
>
> ERROR: Function failed: do_package_qa
>
> Thanks,
>
> Sathish
>
> *From:*Sathish Kumar Balasubramaniam -ERS, HCL Tech
> *Sent:* Thursday, July 03, 2014 9:29 PM
> *To:* yocto at yoctoproject.org
> *Subject:* Adding a shared object file to rootfs
> *Importance:* High
>
> Hi,
>
> I have a file abc.so
>
> How can I add just this abc.so to /lib in rootfs using a recipe ?
>
> Regards,
>
> Sathish
>
>
>
> ::DISCLAIMER::
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>
> The contents of this e-mail and any attachment(s) are confidential and intended
> for the named recipient(s) only.
> E-mail transmission is not guaranteed to be secure or error-free as information
> could be intercepted, corrupted,
> lost, destroyed, arrive late or incomplete, or may contain viruses in
> transmission. The e mail and its contents
> (with or without referred errors) shall therefore not attach any liability on
> the originator or HCL or its affiliates.
> Views or opinions, if any, presented in this email are solely those of the
> author and may not necessarily reflect the
> views or opinions of HCL or its affiliates. Any form of reproduction,
> dissemination, copying, disclosure, modification,
> distribution and / or publication of this message without the prior written
> consent of authorized representative of
> HCL is strictly prohibited. If you have received this email in error please
> delete it and notify the sender immediately.
> Before opening any email and/or attachments, please check them for viruses and
> other defects.
>
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>
>
>



More information about the yocto mailing list