diff mbox series

[bug#64643] gnu: ghc-8.10: Fix build on i686-linux.

Message ID 083e20c72d24a3ed0bc00959ae2053784b03bada.1689413970.git.mail@cbaines.net
State New
Headers show
Series [bug#64643] gnu: ghc-8.10: Fix build on i686-linux. | expand

Commit Message

Christopher Baines July 15, 2023, 9:39 a.m. UTC
As one profiling test fails very repeatedly on the bordeaux build farm, but
ghc did seem to build successfully on other machines.

* gnu/packages/haskell.scm (ghc-8.10)[arguments]: Don't run the T11627a
profiling test on i686-linux.
---
 gnu/packages/haskell.scm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)


base-commit: b5a5e4d712d0a1998995be62bb41b03955b7dcf1
prerequisite-patch-id: 3297b62c093009d94f43908e88dfc50a53ccbeac

Comments

Lars-Dominik Braun July 16, 2023, 8:29 a.m. UTC | #1
Hi Christopher,

> As one profiling test fails very repeatedly on the bordeaux build farm, but
> ghc did seem to build successfully on other machines.

do you have a log file showing the failure? It’s also a pretty big
rebuild (almost 1800 packages), so maybe we can apply this change on
i386 only for now?

Cheers,
Lars
Christopher Baines July 16, 2023, 8:41 a.m. UTC | #2
Lars-Dominik Braun <lars@6xq.net> writes:

> Hi Christopher,
>
>> As one profiling test fails very repeatedly on the bordeaux build farm, but
>> ghc did seem to build successfully on other machines.
>
> do you have a log file showing the failure? It’s also a pretty big
> rebuild (almost 1800 packages), so maybe we can apply this change on
> i386 only for now?

Yep, you can click the "View build on https://bordeaux.guix.gnu.org"
links from this page [1] to find the build logs for all the failing
builds.

1: https://data.qa.guix.gnu.org/gnu/store/sp4csvzxjzzjhmyp7sfdxg3ypqpysh2a-ghc-8.10.7.drv

And yes, this patch only affects i686-linux as confirmed by [2].

2: https://qa.guix.gnu.org/issue/64643
Lars-Dominik Braun July 16, 2023, 9:03 a.m. UTC | #3
Hi,

> Yep, you can click the "View build on https://bordeaux.guix.gnu.org"
> links from this page [1] to find the build logs for all the failing
> builds.
> 
> 1: https://data.qa.guix.gnu.org/gnu/store/sp4csvzxjzzjhmyp7sfdxg3ypqpysh2a-ghc-8.10.7.drv

huh, a segfault. Weird. Perhaps it’s running out of address space.

> And yes, this patch only affects i686-linux as confirmed by [2].

Ah, you’re right. I missed this patch context:

>           #$@(if (string-prefix? "i686" (or (%current-target-system)
>                                             (%current-system)))

Looks good to me then!

Cheers,
Lars
Christopher Baines July 17, 2023, 12:58 p.m. UTC | #4
Lars-Dominik Braun <lars@6xq.net> writes:

> Hi,
>
>> Yep, you can click the "View build on https://bordeaux.guix.gnu.org"
>> links from this page [1] to find the build logs for all the failing
>> builds.
>>
>> 1: https://data.qa.guix.gnu.org/gnu/store/sp4csvzxjzzjhmyp7sfdxg3ypqpysh2a-ghc-8.10.7.drv
>
> huh, a segfault. Weird. Perhaps it’s running out of address space.
>
>> And yes, this patch only affects i686-linux as confirmed by [2].
>
> Ah, you’re right. I missed this patch context:
>
>>           #$@(if (string-prefix? "i686" (or (%current-target-system)
>>                                             (%current-system)))
>
> Looks good to me then!

Great, I've pushed this to master as
ad08f9331fee7a8e71e94b02f86f54ab3e1001a8.

There's ~2000 affected packages, but I think this is OK since at least
for the bordeaux build farm, these packages are being unblocked rather
than rebuilt, and for ci, it'll take no time at all to catch up.
diff mbox series

Patch

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 6b2c86fec4..62815efbb1 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1271,8 +1271,11 @@  (define-public ghc-8.10
            ;; next rebuild. Note that they are required for GHC 8.10 and 9.2.
            #$@(if (string-prefix? "i686" (or (%current-target-system)
                                              (%current-system)))
-               #~((add-after 'skip-failing-tests-i686 'skip-failing-tests-i686-cuirass
+               #~((add-after 'skip-failing-tests-i686 'skip-more-failing-tests-i686
                     (lambda _
+                      (substitute* '("testsuite/tests/profiling/should_run/all.T")
+                        (("test\\('T11627a', \\[ ")
+                         "test('T11627a', [ when(arch('i386'), skip), "))
                       (substitute* '("testsuite/driver/testlib.py")
                         ((".*changes being made to the file will invalidate the code signature.*")
                          "")