Opened 21 months ago

Closed 21 months ago

Last modified 20 months ago

#14891 closed bug (fixed)

Cabal bump broke ext-interp tests on Darwin

Reported by: bgamari Owned by: hvr
Priority: highest Milestone: 8.4.2
Component: Compiler Version: 8.2.2
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:

Description

Since a9f680f631e2 the testsuite has been failing with broken ext-interp tests on Darwin. I also see this on the ghc-8.4 branch.

Change History (6)

comment:1 Changed 21 months ago by bgamari

Strangely enough when preparing the final release tarball I noticed that the failure manifested as a linker error,

=====> T9262(ext-interp) 1 of 1 [0, 0, 0]
cd "./th/T9262.run" &&  "/Users/bgamari/bin-dist-8.4.1-Darwin/ghc/inplace/bin/ghc-stage2" -c T9262.hs -dcore-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -dno-debug-output -XTemplateHaskell -package template-haskell -fexternal-interpreter -v0
Compile failed (exit code 1) errors were:
ghc-iserv.bin: 
lookupSymbol failed in relocateSection (RELOC_GOT)
/Users/bgamari/bin-dist-8.4.1-Darwin/ghc/libraries/integer-gmp/dist-install/build/HSinteger-gmp-1.0.1.0.o: unknown symbol `___gmp_rands'
ghc-stage2: unable to load package `integer-gmp-1.0.1.0'

Elsewhere it appears to manifest as a segfault.

Last edited 21 months ago by bgamari (previous) (diff)

comment:2 Changed 21 months ago by bgamari

Owner: set to hvr

comment:3 Changed 21 months ago by Herbert Valerio Riedel <hvr@…>

In df7ac37d/ghc:

Fixup include of gmp/config.mk to use new location

This wasn't spotted rightaway in
8f0b2f5eadf0fcb47c581907205a9db686214a69
because the include-site deliberately ignored include-errors as
a Hack with the justification below:

> Hack. The file gmp/config.mk doesn't exist yet after running ./configure in
> the toplevel (ghc) directory. To let some toplevel make commands such as
> sdist go through, right after ./configure, don't consider this an error.

This may have contributed to #14891.

comment:4 Changed 21 months ago by bgamari

Resolution: fixed
Status: newclosed

comment:5 in reply to:  1 Changed 21 months ago by hvr

Replying to bgamari:

=====> T9262(ext-interp) 1 of 1 [0, 0, 0]
cd "./th/T9262.run" &&  "/Users/bgamari/bin-dist-8.4.1-Darwin/ghc/inplace/bin/ghc-stage2" -c T9262.hs -dcore-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -dno-debug-output -XTemplateHaskell -package template-haskell -fexternal-interpreter -v0
Compile failed (exit code 1) errors were:
ghc-iserv.bin: 
lookupSymbol failed in relocateSection (RELOC_GOT)
/Users/bgamari/bin-dist-8.4.1-Darwin/ghc/libraries/integer-gmp/dist-install/build/HSinteger-gmp-1.0.1.0.o: unknown symbol `___gmp_rands'
ghc-stage2: unable to load package `integer-gmp-1.0.1.0'

Alex discovered, this had been reported already some time ago at

https://mail.haskell.org/pipermail/ghc-devs/2017-June/014325.html

I also noticed that GHC 8.4.1 for OSX uses the in-tree GMP library; while all tests/validation I did on OSX, where with some system-installed (dynamically linked) libgmp 6.x

It would be worth trying to build an OSX bindist using a more recent version of a statically linked in-tree GMP version, and see if this problem persists.

Last edited 21 months ago by hvr (previous) (diff)

comment:6 Changed 20 months ago by bgamari

Milestone: 8.4.18.4.2

Unfortunately due to an oversight in the release preparation process, the fix for this issue was not included in the 8.4.1 release. It will, however, be present in the soon-to-arrive 8.4.2.

Note: See TracTickets for help on using tickets.