<div dir="ltr">As waf_do_configure takes care of EXTRA_OECONF, maybe we can only fix <a href="http://gstreamer1.0-plugins-imx_0.13.0.bb">gstreamer1.0-plugins-imx_0.13.0.bb</a> by adding libdir ? <div>It is much a bug fix than a longterm solution, but if any waf version breaks options, it can be a nightmare to handle...</div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-12-12 16:56 GMT+01:00 Stefan Agner <span dir="ltr">&lt;<a href="mailto:stefan@agner.ch" target="_blank">stefan@agner.ch</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 2017-12-12 16:47, Otavio Salvador wrote:<br>
&gt; On Tue, Dec 12, 2017 at 12:38 PM, Stefan Agner &lt;<a href="mailto:stefan@agner.ch">stefan@agner.ch</a>&gt; wrote:<br>
&gt;&gt; On 2017-12-12 15:13, Burton, Ross wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; On 12 December 2017 at 14:03, Stefan Agner &lt;<a href="mailto:stefan@agner.ch">stefan@agner.ch</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On 2017-12-12 15:00, Burton, Ross wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On 12 December 2017 at 13:27, Stefan Agner &lt;<a href="mailto:stefan@agner.ch">stefan@agner.ch</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; On some build hosts distros (e.g. Fedora 26) waf tries to be<br>
&gt;&gt;&gt;&gt;&gt;&gt; smart about libdir detection and defaults to [EXEC_PREFIX/lib64].<br>
&gt;&gt;&gt;&gt;&gt;&gt; This obviously is not what we want for 32-bit targets and usually<br>
&gt;&gt;&gt;&gt;&gt;&gt; fails in the do_package phase:<br>
&gt;&gt;&gt;&gt;&gt;&gt; WARNING: gstreamer1.0-plugins-imx-0.13.<wbr>0-r0 do_package: QA Issue: gstreamer1.0-plugins-imx: Files/directories were installed but not shipped in any package:<br>
&gt;&gt;&gt;&gt;&gt;&gt; /usr/lib64/libgstimxcommon.so.<wbr>0<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Waf knows prefix, bindir and libdir as default options. Explicitly<br>
&gt;&gt;&gt;&gt;&gt;&gt; pass those three.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Obviously not.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; ERROR: eglinfo-x11-1.0.0-r0 do_configure: Function failed: do_configure (log file is located at /data/poky-tmp/master/build/<wbr>work/corei7-64-poky-linux/<wbr>eglinfo-x11/1.0.0-r0/temp/log.<wbr>do_configure.17278)<br>
&gt;&gt;&gt;&gt;&gt; ERROR: Logfile of failure stored in: /data/poky-tmp/master/build/<wbr>work/corei7-64-poky-linux/<wbr>eglinfo-x11/1.0.0-r0/temp/log.<wbr>do_configure.17278<br>
&gt;&gt;&gt;&gt;&gt; Log data follows:<br>
&gt;&gt;&gt;&gt;&gt; | DEBUG: Executing shell function do_configure<br>
&gt;&gt;&gt;&gt;&gt; | waf [commands] [options]<br>
&gt;&gt;&gt;&gt;&gt; |<br>
&gt;&gt;&gt;&gt;&gt; | Main commands (example: ./waf build -j4)<br>
&gt;&gt;&gt;&gt;&gt; |   build    : executes the build<br>
&gt;&gt;&gt;&gt;&gt; |   clean    : cleans the project<br>
&gt;&gt;&gt;&gt;&gt; |   configure: configures the project<br>
&gt;&gt;&gt;&gt;&gt; |   dist     : makes a tarball for redistributing the sources<br>
&gt;&gt;&gt;&gt;&gt; |   distcheck: checks if the project compiles (tarball from &#39;dist&#39;)<br>
&gt;&gt;&gt;&gt;&gt; |   distclean: removes the build directory<br>
&gt;&gt;&gt;&gt;&gt; |   install  : installs the targets on the system<br>
&gt;&gt;&gt;&gt;&gt; |   list     : lists the targets to execute<br>
&gt;&gt;&gt;&gt;&gt; |   step     : executes tasks in a step-by-step fashion, for debugging<br>
&gt;&gt;&gt;&gt;&gt; |   uninstall: removes the targets installed<br>
&gt;&gt;&gt;&gt;&gt; |   update   : updates the plugins from the *waflib/extras* directory<br>
&gt;&gt;&gt;&gt;&gt; |<br>
&gt;&gt;&gt;&gt;&gt; | waf: error: no such option: --bindir<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Hm, eglinfo seems to come with a old waf version, 1.7.8 to be specific.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; It seems bindir/libdir got added in 1.8 series:<br>
&gt;&gt;&gt;&gt; <a href="https://github.com/waf-project/waf/blob/waf-1.8/waflib/Options.py" rel="noreferrer" target="_blank">https://github.com/waf-<wbr>project/waf/blob/waf-1.8/<wbr>waflib/Options.py</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Make version specific variables?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; That neatly shows where the &quot;clever code&quot; that was breaking libdir earlier is:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; <a href="https://github.com/waf-project/waf/commit/823b4cd2dc03d06a81e0ab003606067da03d8745#diff-b44b0c8f383b2fd1b19f2ba039d30237" rel="noreferrer" target="_blank">https://github.com/waf-<wbr>project/waf/commit/<wbr>823b4cd2dc03d06a81e0ab00360606<wbr>7da03d8745#diff-<wbr>b44b0c8f383b2fd1b19f2ba039d302<wbr>37</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Yeah that seems to be it.<br>
&gt;&gt;<br>
&gt;&gt; That go added in the 1.8.6 dev cycle afaik.<br>
&gt;&gt;<br>
&gt;&gt; I am thinking about adding some kind of version autodetection<br>
&gt;&gt;<br>
&gt;&gt; WAFMINOR=$(${S}/waf --version | sed -e &#39;1{s/waf [0-9]\.//;s/\.[0-9]*<br>
&gt;&gt; (.*//};q&#39;)<br>
&gt;&gt;<br>
&gt;&gt; if [ $WAFMINOR -gt &quot;7&quot; ] ...<br>
&gt;&gt;<br>
&gt;&gt; Maybe there is a nicer way of doing this?<br>
&gt;<br>
&gt; What about we provide a package waf version and replace the binaries<br>
&gt; prior building? So we know what version we&#39;d be using. Kinda<br>
&gt; autoreconf run in autotools class.<br>
<br>
</div></div>Waf seems to be extensible using wscript. I don&#39;t know how exactly<br>
wscript depends on waf (version) and whether the API is considered<br>
stable...<br>
<br>
I&#39;d rather prefer not taking chances...<br>
<br>
--<br>
Stefan<br>
<div class="HOEnZb"><div class="h5">--<br>
______________________________<wbr>_________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.<wbr>openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/<wbr>mailman/listinfo/openembedded-<wbr>core</a><br>
</div></div></blockquote></div><br></div>