Hello Andre, > RDEPENDS_${PN}-dev += "${PN}-staticdev"
I also read this email, and decided to investigate myself. Since I wrote meta-mylayer with cannelloni recipe in it. To find out if the recipe works correctly, and it is incorporated (upfront) in ROOTFS, I did the following: [1] Did the compilation of the clean tree; [2] After that, I did: bitbake -s | grep cannelloni -> yes, the build system sees it; [3] Changed to ${TMPDIR}/work and issued the command: find . -name cannelloni To my surprise, the search produced empty results. Then I added your line to the cannelloni recipe: RDEPENDS_${PN}-dev += "${PN}-staticdev" Again, bitbake -c cleanall cannelloni, then bitbake cannelloni, and step [3] produced visible results. Now I see it in the .../tmp/work/... But, there were NOT any changes in: .../tmp/deploy/images/beaglebone/ directory (in ${build} directory, I guess)??? So, what I need to do to see build components changed (since I assume, cannelloni still did not make it in ROOTFS)??? Thank you, Zoran _______ On Wed, Jul 25, 2018 at 2:08 AM, Andre McCurdy <armccu...@gmail.com> wrote: > On Tue, Jul 24, 2018 at 4:53 PM, Greg Wilson-Lindberg <gwil...@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@yoctoproject.org > https://lists.yoctoproject.org/listinfo/yocto > -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto