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/ > <http://www%20(dot)%20canfestival%20(dot)%20org/>" // 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