[Tts-project] Bug#1022239: festival FTBFS: make[2]: *** [/usr/lib/speech_tools/config/rules/targets.mak:55: src] Error 2

Nilesh Patra nilesh at debian.org
Sat Oct 22 17:19:16 BST 2022


Control: tags -1 patch

On Sat, Oct 22, 2022 at 05:07:54PM +0200, Samuel Thibault wrote:
> Control: severity -1 wishlist
> 
> Samuel Thibault, le sam. 22 oct. 2022 17:06:07 +0200, a ecrit:
> > Nilesh Patra, le sam. 22 oct. 2022 20:09:05 +0530, a ecrit:
> > > Command: dpkg-buildpackage --sanitize-env -us -uc -b -rfakeroot -j5
> > 
> > Ok, that's why. festival's makefile does not support parallel builds.
> > That's why we do not pass any -j parameter to the explicit make call.
> > 
> > It seems that dpkg-buildpackage's -j option forcibly passes -j
> > in MAKEFLAGS. Is there a way to prevent it from doing that, or
> > should users just know whether they can use -j, and rather use
> > DEB_BUILD_OPTIONS=parallel=nn if they don't know?
> 
> -J's documentation
> 
>>        -J, --jobs-try[=jobs|auto]
>            This option (since dpkg 1.18.2, long option since dpkg 1.18.8) is
>            equivalent to the -j option except that it does not set the
>            MAKEFLAGS environment variable, and as such it is safer to use with
>            any package including those that are not parallel-build safe.
> 
>            auto is the default behavior (since dpkg 1.18.11). Setting the
>            number of jobs to 1 will restore a serial behavior.
>> 
> leads me into thinking that this is notabug from festival, and people
> should be just using -J and not -j?


I see, yes indeed. I have "$dpkg_buildpackage_user_options = ['-j5'];" set in
my sbuildrc since atleast a couple of years or so and this is the first time I
have seen something choke.

If the makefile does not support parallel building, then it makes sense
to explicity declare that with a --no-parallel. The custom $(MAKE) call can go
away. I tried again with -j5 option, and passing a --no-parallel seems to
mitigate this. I have attached the patch for the same, please consider taking
a look.

BTW, if you could do something to not build the festival.info file during the
build, somehow split build and doc for override_dh_auto_build into -arch and -indep call, that'd make
festival natively cross-building, and I'd be quite happy on seeing that.
Currently, you are installing festival.info.* files in festival binary package and
cross-build would choke there if doc call is separated into -indep rule.
One way could be to build this package twice, once natively and once cross-build but that'd be a ugly.

-- 
Best,
Nilesh
-------------- next part --------------
A non-text attachment was scrubbed...
Name: no-parallel-build.patch
Type: text/x-diff
Size: 731 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/tts-project/attachments/20221022/138f52d6/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/tts-project/attachments/20221022/138f52d6/attachment.sig>


More information about the Tts-project mailing list