GNU bug report logs - #43232
jack2 fails to build on aarch64

Previous Next

Package: guix;

Reported by: Vitaliy Shatrov <guix.vits <at> disroot.org>

Date: Sun, 6 Sep 2020 03:54:02 UTC

Severity: normal

Done: Andreas Enge <andreas <at> enge.fr>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Mark H Weaver <mhw <at> netris.org>
To: Efraim Flashner <efraim <at> flashner.co.il>, Mike Rosset <mike.rosset <at> gmail.com>
Cc: 43232 <at> debbugs.gnu.org
Subject: bug#43232: [PATCH] gnu: jack-2: Update to 1.9.14.
Date: Tue, 15 Sep 2020 16:39:25 -0400
Efraim Flashner <efraim <at> flashner.co.il> writes:

> On Mon, Sep 14, 2020 at 09:25:25PM -0700, Mike Rosset wrote:
>> * gnu/packages/audio.scm (jack-2): Update to 1.9.14.
>> [arguments]: new 'declare-for-int phase after unpack that declares 'i in the
>> for initialize statement.  Add -lstdc++ to LDFLAGS 'set-linkflags phase
>> ensures -lstdc++ is at the tail.
[...]
>> @@ -2047,8 +2047,18 @@ synchronous execution of all clients, and low latency operation.")
>>                             "--alsa")
>>         #:phases
>>         (modify-phases %standard-phases
>> +         (add-after 'unpack 'declare-for-int
>> +           (lambda _
>> +             ;; Declare the for loop i incrementer.
>> +             (substitute* "dbus/sigsegv.c"
>> +               (("for\\(i = 0") "for(int i = 0"))
>> +             #t))
>
> Any chance of an upstream bug number or something for this? It seems
> like the type of thing that might be put into a snippet.

I agree that somehow this fix should be in the 'origin', so that this
fix will be in the output of "guix build --source".  However, I'd go
further and suggest that it should be a patch instead of a call to
'substitute*'.

Although patches are larger and a bit more work to create, they are far
more robust.  When this bug is eventually fixed upstream, a patch to fix
it will begin raising an error, alerting us that it's time to remove it.

In contrast, a call to 'substitute*' will silently start doing nothing,
and may easily be forgotten.  To make matters worse, a future version of
jack-2 might add another 'for' loop in that file, matching the same
pattern but where it is important that 'i' _not_ be initialized to 0.
This 'substitute*' call, likely vestigial by that time but long since
forgotten, could start silently introducing a new bug.

What do you think?

      Thanks,
        Mark




This bug report was last modified 4 years and 312 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.