Hi Paul, I changed the name of the recipe to 'canfestival_3-asc.bb' and removed the PN, PV, & PR defines and that seems to have gotten bitbake to extract and execute into the same directory.
I'm now getting an error from the 'configure' scripe: NOTE: Running ../canfestival-3-asc/configure --build=x86_64-linux --host=arm-poky-linux-gnueabi --target=arm-poky-linux-gnueabi --prefix=/usr --exec_prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share --sysconfdir=/etc --sharedstatedir=/com --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include --oldincludedir=/usr/include --infodir=/usr/share/info --mandir=/usr/share/man --disable-silent-rules --disable-dependency-tracking --with-libtool-sysroot=/home/gwilson/Qt-5.9/Yocto-build-RPi3/build-raspberrypi3/tmp/sysroots/raspberrypi3 –can=socket –timers=unix –SDO_MAX_SIMULTANEOUS_TRANSFERS=25 –SDO_MAX_LENGTH_TRANSFER=4096 –MAX_NB_TIMER=128 –SDO_TIMEOUT_MS=1000 --disable-static ERROR: configure failed Unknown argument --build=x86_64-linux so bitbake is including an option that the configure script doesn't understand. Is there a way to delete that option? Thanks so much for you help, Greg ________________________________ From: Paul Eggleton <paul.eggle...@linux.intel.com> Sent: Wednesday, October 4, 2017 7:01:10 PM To: Greg Wilson-Lindberg Cc: yocto@yoctoproject.org Subject: Re: [yocto] Having trouble getting recipe to run in proper directory Hi Greg, On Thursday, 5 October 2017 1:16:15 PM NZDT Greg Wilson-Lindberg wrote: > I'm trying to create a new recipe for a package that has a version and > non-numeric rev > in its name (canfestival-3-asc). I've gotten bitbake to unpack the package > into a tree > that looks ok, but it keeps trying to run the compile at least in the wrong > directory. > Here is the recipe: > > > 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.canfestival.org/" > > SRCREV = "895:8973dd8be7e8" > > SRC_URI = "hg://bitbucket.org/Mongo;protocol=https;module=canfestival-3-asc" > SRC_URI[md5sum] = "" > SRC_URI[sha256sum] = "" > > PN = "canfestival" > PV = '3' > PR = 'asc' > > LICENSE = "LGPL-2" > LIC_FILES_CHKSUM = "file://COPYING;md5= \ > file://LICENCE;md5=" > > inherit autotools > > # Specify any options you want to pass to the configure script using > EXTRA_OECONF: > EXTRA_OECONF = "-can=socket -timers=unix -SDO_MAX_SIMULTANEOUS_TRANSFERS=25 \ > -SDO_MAX_LENGTH_TRANSFER=4096 -MAX_NB_TIMER=128 > -SDO_TIMEOUT_MS=1000" > > PROVIDES = "canfestival" > > The directory structure that bitbake builds is: > > > canfestival > > 3-asc > > build > > canfestival-3 # directory that bitbake is trying > to compile in > > canfestival-3-asc # directory that code was > extracted to > > temp > > > I'm not getting any errors from the configure task, but the log file looks > like > it is trying to run from the canfestival-3 directory, not the > canfestival-3-asc. What > can I do to the recipe to get the build to run in the canfestival-3-asc > directory? > Or, i guess, get bitbake to unpack the source into the canfestival-3, or a > different directory that it will actually run the tasks in. So firstly the directory where the build system should expect to find the source after do_unpack is specified by the S variable, whose default is "${WORKDIR}/${BP}" where BP defaults to "${BPN}-${PV}" and BPN will be the same as PN in this case. However, you're setting the "asc" part in PR - typically PR is left under the control of the build system and thus your PV would typically be set to "3-asc" in which case S would default to the right value i.e. "canfestival-3-asc" (but if it didn't, you would just set S to fix it). To summarise, set PV = "3-asc" (or alternatively have it picked up from the file name, i.e. name it canfestival_3-asc.bb) and it should work as you expect. A couple of other notes: * For LICENSE, LGPL-2 isn't a standard value - LGPLv2, LGPLv2.0, LGPLv2.1, LGPL-2.0, or LGPL-2.1 (with or without + at the end) would be understood by the build system * You don't need SRC_URI md5sum/sha256sum for an hg:// URL. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre
-- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto