[oe-commits] waf warnings in jack and samba related recipes Was: [openembedded-core] 07/44: waf.bbclass: explicitly pass bindir and libdir if supported

Martin Jansa martin.jansa at gmail.com
Tue Jan 30 00:01:34 UTC 2018


Hi,

it might be useful to check if there is ${S}/waf at all before trying to
call it.

There are some recipes like jack and other which inherit waf-samba which
inherits waf, but they don't use waf for configure, strange isn't it?

But since this patch, there is new warning for every do_configure task,
because there is this prefuncs waf_preconfigure causing:
WARNING: libldb-1.1.29-r0 do_configure: Unable to execute waf --version,
exit code 127. Assuming waf version without bindir/libdir support.
WARNING: samba-4.6.7-r0 do_configure: Unable to execute waf --version, exit
code 127. Assuming waf version without bindir/libdir support.
WARNING: libtalloc-2.1.9-r0 do_configure: Unable to execute waf --version,
exit code 127. Assuming waf version without bindir/libdir support.
WARNING: jack-1.9.10+gitAUTOINC+2d1d323505-r0 do_configure: Unable to
execute waf --version, exit code 1. Assuming waf version without
bindir/libdir support.
WARNING: libtevent-0.9.31-r0 do_configure: Unable to execute waf --version,
exit code 127. Assuming waf version without bindir/libdir support.
WARNING: libtdb-1.3.14-r0 do_configure: Unable to execute waf --version,
exit code 127. Assuming waf version without bindir/libdir support.

Now when this change is also backported to rocko we should probably fix
those recipes to prevent introducing even more warnings to stable release
builds.

Regards,

On Tue, Jan 2, 2018 at 6:28 PM, <git at git.openembedded.org> wrote:

> This is an automated email from the git hooks/post-receive script.
>
> rpurdie pushed a commit to branch master
> in repository openembedded-core.
>
> commit 923f91d8d8606141ce218927bc943f4f4f34bcdd
> Author: Stefan Agner <stefan.agner at toradex.com>
> AuthorDate: Tue Dec 12 17:13:24 2017 +0100
>
>     waf.bbclass: explicitly pass bindir and libdir if supported
>
>     On some build hosts distros (e.g. Fedora 26) waf tries to be
>     smart about libdir detection and defaults to [EXEC_PREFIX/lib64].
>     This obviously is not what we want for 32-bit targets and usually
>     fails in the do_package phase:
>       WARNING: gstreamer1.0-plugins-imx-0.13.0-r0 do_package: QA Issue:
> gstreamer1.0-plugins-imx: Files/directories were installed but not shipped
> in any package:
>         /usr/lib64/libgstimxcommon.so.0
>         ...
>
>     Depending on version, waf knows prefix or prefix, bindir and
>     libdir as default options. Explicitly pass the right set of
>     arguments.
>
>     Signed-off-by: Stefan Agner <stefan.agner at toradex.com>
>     Signed-off-by: Ross Burton <ross.burton at intel.com>
> ---
>  meta/classes/waf.bbclass | 17 ++++++++++++++++-
>  1 file changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/waf.bbclass b/meta/classes/waf.bbclass
> index c4698e9..acbda27 100644
> --- a/meta/classes/waf.bbclass
> +++ b/meta/classes/waf.bbclass
> @@ -25,8 +25,23 @@ def get_waf_parallel_make(d):
>
>      return ""
>
> +python waf_preconfigure() {
> +    from distutils.version import StrictVersion
> +    srcsubdir = d.getVar('S')
> +    wafbin = os.path.join(srcsubdir, 'waf')
> +    status, result = oe.utils.getstatusoutput(wafbin + " --version")
> +    if status != 0:
> +        bb.warn("Unable to execute waf --version, exit code %d. Assuming
> waf version without bindir/libdir support." % status)
> +        return
> +    version = result.split()[1]
> +    if StrictVersion(version) >= StrictVersion("1.8.7"):
> +        d.setVar("WAF_EXTRA_CONF", "--bindir=${bindir}
> --libdir=${libdir}")
> +}
> +
> +do_configure[prefuncs] += "waf_preconfigure"
> +
>  waf_do_configure() {
> -       ${S}/waf configure --prefix=${prefix} ${EXTRA_OECONF}
> +       ${S}/waf configure --prefix=${prefix} ${WAF_EXTRA_CONF}
> ${EXTRA_OECONF}
>  }
>
>  waf_do_compile()  {
>
> --
> To stop receiving notification emails like this one, please contact
> the administrator of this repository.
> --
> _______________________________________________
> Openembedded-commits mailing list
> Openembedded-commits at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-commits
>


More information about the Openembedded-commits mailing list