[GHC] #3379: GHC should use the standard binary package

GHC ghc-devs at haskell.org
Tue Dec 11 03:12:13 UTC 2018


#3379: GHC should use the standard binary package
-------------------------------------+-------------------------------------
        Reporter:  igloo             |                Owner:  (none)
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  6.10.4
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------
Changes (by ulysses4ever):

 * cc: ulysses4ever (added)


Comment:

 I've been thinking about this one lately. For the sake of experiment, I
 tried to replace the implementation of a hand-crafted Binary instance
 (namely, the one for `ArgType`) with the implementation derived by
 Data.Binary via GHC.Generics. This alone immediately led GHC into panic
 (see below).
 [https://gitlab.staging.haskell.org/ulysses4ever/ghc/commit/6156a260cd775a1d780d3c9f3c4cef8fb39d0f19
 The patch is here]. Maybe my new instance has some flaw? Can anyone
 comment on any of these?

 {{{
 $ make
 ===--- building phase 0
 make --no-print-directory -f ghc.mk phase=0 phase_0_builds
 make[1]: Nothing to be done for 'phase_0_builds'.
 ===--- building phase 1
 make --no-print-directory -f ghc.mk phase=1 phase_1_builds
 ===--- building final phase
 make --no-print-directory -f ghc.mk phase=final all
 "inplace/bin/ghc-stage2" -hisuf dyn_hi -osuf  dyn_o -hcsuf dyn_hc -fPIC
 -dynamic  -O -H64m -Wall      -hide-all-packages -i -iutils/ghctags/.
 -iutils/ghctags/dist-install/build -Iutils/ghctags/dist-install/build
 -iutils/ghctags/dist-install/build/ghctags/autogen -Iutils/ghctags/dist-
 install/build/ghctags/autogen     -optP-include -optPutils/ghctags/dist-
 install/build/ghctags/autogen/cabal_macros.h -package-id Cabal-2.5.0.0
 -package-id base-4.12.0.0 -package-id containers-0.6.0.1 -package-id
 ghc-8.7 -XHaskell2010  -no-user-package-db -rtsopts       -Wnoncanonical-
 monad-instances  -odir utils/ghctags/dist-install/build -hidir
 utils/ghctags/dist-install/build -stubdir utils/ghctags/dist-install/build
 -c utils/ghctags/./Main.hs -o utils/ghctags/dist-install/build/Main.dyn_o
 ghc-stage2: panic! (the 'impossible' happened)
   (GHC version 8.7.20181207 for x86_64-unknown-linux):
         Binary(IfaceConDecls).get: Invalid IfaceConDecls
 CallStack (from HasCallStack):
   error, called at compiler/iface/IfaceSyn.hs:1896:18 in ghc:IfaceSyn

 Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

 utils/ghctags/ghc.mk:18: recipe for target 'utils/ghctags/dist-
 install/build/Main.dyn_o' failed
 make[1]: *** [utils/ghctags/dist-install/build/Main.dyn_o] Error 1
 Makefile:123: recipe for target 'all' failed
 make: *** [all] Error 2
 }}}

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/3379#comment:15>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list