[yocto] Adding a shared object file to rootfs

Robert Yang liezhi.yang at windriver.com
Fri Jul 4 01:51:57 PDT 2014



On 07/04/2014 04:42 PM, Sathish Kumar Balasubramaniam -ERS, HCL Tech wrote:
> 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.

Sounds great.

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

Maybe you need something like:

PACKAGES += kernel-vmlinux-dgb

Otherwise the FILES_kernel-vmlinux-dbg has no effect.

// Robert

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