[yocto] Can't get *.a's into SDK sysroot

Zoran Stojsavljevic zoran.stojsavljevic at gmail.com
Wed Jul 25 23:58:11 PDT 2018


Andre,

> If you are asking why building your image from a completely clean tree
> doesn't result in building your recipe (or changing your recipe
> doesn't result in the image being rebuilt) then yes it suggests that
> your image doesn't include and packages created by your recipe.

Your answer remains me of this story:
https://joke4fun.com/text/engineer-vs-manager-19418

Well... ;-)

I'll try to do some more testings, and to find out what is really wrong here.

The useful info is that out of clean tree nothing is visible in
${TMPDIR}/work, so, after all, might be that YOCTO build system does
not see my layer (for some unknown reason) at all.

Thank you,
Zoran
_______

On Wed, Jul 25, 2018 at 8:15 PM, Greg Wilson-Lindberg
<GWilson at sakuraus.com> wrote:
> Hi Andre,
>
> The RDEPENDS did what I needed.
>
>
>
> Thank you very much,
>
> Greg Wilson-Lindberg
>
> Principal Firmware Engineer | Sakura Finetek USA, Inc.
>
>
>
> 1750 W 214th Street | Torrance, CA 90501 | U.S.A.
>
> T: +1 310 783 5075
>
> F: +1 310 618 6902 | E: gwilson at sakuraus.com
>
> www.sakuraus.com
>
>
>
> ________________________________
>
> Confidentiality Notice: This e-mail transmission may contain confidential or
> legally privileged information that is intended only for the individual or
> entity named in the e-mail address. If you are not the intended recipient,
> you are hereby notified that any disclosure, copying, distribution, or
> reliance upon the contents of this e-mail is strictly prohibited. If you
> have received this e-mail transmission in error, please reply to the sender,
> so that Sakura Finetek USA, Inc. can arrange for proper delivery, and then
> please delete the message from your inbox. Thank you.
>
>
>
>
>
> From: Andre McCurdy [mailto:armccurdy at gmail.com]
> Sent: Tuesday, July 24, 2018 05:09 PM
> To: Greg Wilson-Lindberg <GWilson at sakuraus.com>
> Cc: yocto at yoctoproject.org
> Subject: Re: [yocto] Can't get *.a's into SDK sysroot
>
>
>
> On Tue, Jul 24, 2018 at 4:53 PM, Greg Wilson-Lindberg <GWilson at sakuraus.com>
> wrote:
>
> I've created a recipe for Canfestival (a CAN bus CANOpen support library). I
> have had it building for a while, but I had the configuration set up to
> build all parts of it as .so's. I need to change it so that parts of the
> library are .a's. My problem is that I can't get the .a's to copy to the SDK
> sysroot /usr/lib directory. The .a's are in the canfestival image/usr/lib &
> sysroot-destdir/usr/lib directories, but nothing that I've tried has gotten
> them to the SDK sysroot.
>
>
>
> Here is the canfestival_3-asc.bb file that I'm using:
>
>
>
> SUMMARY = "Independent CANOpen® stack"
>
> DESCRIPTION = "CanFestival focuses on providing an ANSI-C platform
> independent \
>
>                CANOpen® stack that can be built as master or slave nodes on
> PCs, \
>
>                Real-time IPCs, and Microcontrollers."
>
>
>
> HOMEPAGE = "http://www(dot)canfestival(dot)org/" // obfuscated to get past
> our email system
>
>
>
> SRCREV = "895:8973dd8be7e8"
>
>
>
> SRC_URI = "hg://bitbucket.org/Mongo;protocol=https;module=canfestival-3-asc
> \
>
>            file://canfestival_3-asc-configure.patch \
>
>            file://canfestival_3-asc-makefile.in.patch \
>
>            file://canfestival_3-asc-src_makefile.in.patch \
>
>            \
>
>            file://sdo.c.patch \
>
>            file://def.h.patch \
>
>            "
>
> PR = 'r01'
>
>
>
> LICENSE = "LGPLv2"
>
> LIC_FILES_CHKSUM = "file://COPYING;md5=46ec399d3928b6c91e3634ab7263af44 \
>
>                     file://LICENCE;md5=085e7fb76fb3fa8ba9e9ed0ce95a43f9"
>
>
>
> TARGET_CC_ARCH += "${LDFLAGS}"
>
>
>
>
>
>
>
> do_configure() {
>
>     bbplain "Starting Configure"
>
>     #bbplain "rootfs: ${D}"
>
>     ./configure --target=unix --prefix=${D}/usr/ --can=socket --timers=unix
> --SDO_MAX_SIMULTANEOUS_TRANSFERS=30 --SDO_MAX_LENGTH_TRANSFER=4096
> --MAX_NB_TIMER=128 --SDO_TIMEOUT_MS=3000 --debug="WAR"
>
>
>
>     bbplain "Configure Done"
>
> }
>
>
>
> do_compile() {
>
>     oe_runmake canfestival
>
> }
>
>
>
> do_install() {
>
>     bbplain "Starting Install"
>
>     #bbplain "rootfs: ${D}"
>
>     oe_runmake install PREFIX=${D}/usr/
>
>
>
>     bbplain "Install Done"
>
> }
>
>
>
> FILES_${PN}-dbg = "/usr/src/debug/canfestival"
>
> FILES_${PN}-dev = "/usr/lib/libcanfestival*.a /usr/include/canfestival/*.h"
>
> FILES_${PN} = "/usr/lib/libcanfestival*.a /usr/lib/libcanfestival*.so"
>
>
>
> #PACKAGE_BEFORE_PN = "${PN}-info"
>
> #FILES_${PN}-info = "usr/lib/pkgconfig"
>
>
>
> I've fiddled with the various FILES lines, but nothing that I do gets the .a
> files copied to the SDK sysroot /usr/lib directory.
>
>
>
> Any insight into what is going wrong would be greatly appreciated.
>
>
>
> Assuming the static libs are being built and installed correctly they should
> be packaged correctly by the default packaging rules. ie you shouldn't need
> to tweak any FILES_xxx values.
>
>
>
> However you will need to ensure that the -staticdev package gets included in
> the SDK. Assuming you always want the static libs for this particular recipe
> to be available then you can try adding the following to the recipe:
>
>
>
>   RDEPENDS_${PN}-dev += "${PN}-staticdev"
>
>
>
>
>
>
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>


More information about the yocto mailing list