[Mageia-dev] problem with %_smp_mflags in Cauldron

Pascal Terjan pterjan at gmail.com
Sun Jan 6 15:59:17 CET 2013


On Sun, Jan 6, 2013 at 2:44 PM, PhilippeDidier
<philippedidier at laposte.net> wrote:
> Pierre-Malo Deniélou a écrit :
>> Le 06/01/13 13:19,philippe makowski nous adresse ces quelques mots :
>>> Hi,
>>>
>>> I have a build fail in Cauldron
>>> (http://pkgsubmit.mageia.org/autobuild/cauldron/x86_64/core/log/python-cairo-1.10.0-3.mga3.src.rpm/build.0.20130104032637.log)
>>>
>>> because  %python3_waf is resolved as /usr/bin/waf-3.3 build -l12 -j12
>>>
>>> and I don't understand why
>>>
>>> we have  in /etc/rpm/macros.d/waf-python3.macros :
>>>
>>> %python3_waf         %__python3_waf build %_smp_mflags
>>> and
>>> %__python3_waf       %{_bindir}/waf-%{python3_version}
>>>
>>>
>>> so why getting  /usr/bin/waf-3.3 build -l12 -j12
>>> instead of   /usr/bin/waf-3.3 build -j12
>>>
>>> from where come this -l that is not supported by waf (waf-3.3: error:
>>> no such option: -l)
>>
>> I believe the answer is in how the autobuild is done:
>> http://fasmz.org/~pterjan/blog/?date=20130103#p01
>>
>> The parameters are not exactly the same as the ones on the build system.
>>
>> Cheers,
>>
> There was the same problem for lv2 with the autobuild system...
> lv2 uses waf too !
>
> It could correctly build on the Build System but failed with autobuild,
> for the same reason
>
> A workaround consists to modify the spec file :
> replace "./waf  %{?_smp_mflags}" with simply "./waf build"
>
> but it will take more time to build    :(
>
>
> A contrario :
> Ardour3 that uses waf can be built without any problem with the
> autobuild system :
> the spec file contains symply ; ./waf build
>
>
> Nevertheless, the autobuild system is now different from the
> BuildSystem, and I don't know if it's useful to modify your spec file,
> to be compliant with the autobuild, not knowing for now if the same
> modification will be applied inside the BS.

I had suggested few months ago to use it on build system too to not
kill the machine when it gets to build several kernels each of them
using -jN, but it is being tested on autobuild first (using it allowed
to reduce total build time from 6 days to 30h).

So far only waf should be a problem. Maybe we could add a macro with
only the number of cpus and use -j%n_cpus with waf instead of using
the make flags given that it is not compatible with other make
options? (In smp_mflags the second m is for make)

I just searched for it and it seems rpm upstream will add such macro
https://bugzilla.redhat.com/show_bug.cgi?id=669638#c13

> NB some programs ask to use their own bundled version of waf...

This is very sad

> which means that modifying Mageia waf-rpm and the waf-python3.macros will not
> solve the problem of the smp_flags for them.


More information about the Mageia-dev mailing list