[yocto] Having trouble getting recipe to run in proper directory

Greg Wilson-Lindberg GWilson at sakuraus.com
Thu Oct 5 10:51:32 PDT 2017


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.eggleton at linux.intel.com>
Sent: Wednesday, October 4, 2017 7:01:10 PM
To: Greg Wilson-Lindberg
Cc: yocto at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20171005/3fb73e39/attachment.html>


More information about the yocto mailing list