On Tue, Dec 12, 2017 at 12:38 PM, Stefan Agner <[email protected]> wrote: > On 2017-12-12 15:13, Burton, Ross wrote: > >> On 12 December 2017 at 14:03, Stefan Agner <[email protected]> wrote: >> >>> On 2017-12-12 15:00, Burton, Ross wrote: >>> >>>> On 12 December 2017 at 13:27, Stefan Agner <[email protected]> wrote: >>>> >>>>> 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 >>>>> >>>>> Waf knows prefix, bindir and libdir as default options. Explicitly >>>>> pass those three. >>>> >>>> Obviously not. >>>> >>>> ERROR: eglinfo-x11-1.0.0-r0 do_configure: Function failed: do_configure >>>> (log file is located at >>>> /data/poky-tmp/master/build/work/corei7-64-poky-linux/eglinfo-x11/1.0.0-r0/temp/log.do_configure.17278) >>>> ERROR: Logfile of failure stored in: >>>> /data/poky-tmp/master/build/work/corei7-64-poky-linux/eglinfo-x11/1.0.0-r0/temp/log.do_configure.17278 >>>> Log data follows: >>>> | DEBUG: Executing shell function do_configure >>>> | waf [commands] [options] >>>> | >>>> | Main commands (example: ./waf build -j4) >>>> | build : executes the build >>>> | clean : cleans the project >>>> | configure: configures the project >>>> | dist : makes a tarball for redistributing the sources >>>> | distcheck: checks if the project compiles (tarball from 'dist') >>>> | distclean: removes the build directory >>>> | install : installs the targets on the system >>>> | list : lists the targets to execute >>>> | step : executes tasks in a step-by-step fashion, for debugging >>>> | uninstall: removes the targets installed >>>> | update : updates the plugins from the *waflib/extras* directory >>>> | >>>> | waf: error: no such option: --bindir >>>> >>> Hm, eglinfo seems to come with a old waf version, 1.7.8 to be specific. >>> >>> It seems bindir/libdir got added in 1.8 series: >>> https://github.com/waf-project/waf/blob/waf-1.8/waflib/Options.py >>> >>> Make version specific variables? >> >> That neatly shows where the "clever code" that was breaking libdir earlier >> is: >> >> https://github.com/waf-project/waf/commit/823b4cd2dc03d06a81e0ab003606067da03d8745#diff-b44b0c8f383b2fd1b19f2ba039d30237 >> > > Yeah that seems to be it. > > That go added in the 1.8.6 dev cycle afaik. > > I am thinking about adding some kind of version autodetection > > WAFMINOR=$(${S}/waf --version | sed -e '1{s/waf [0-9]\.//;s/\.[0-9]* > (.*//};q') > > if [ $WAFMINOR -gt "7" ] ... > > Maybe there is a nicer way of doing this?
What about we provide a package waf version and replace the binaries prior building? So we know what version we'd be using. Kinda autoreconf run in autotools class. -- Otavio Salvador O.S. Systems http://www.ossystems.com.br http://code.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
