[GHC] #10437: RunHaskell error in HSExtra on Win64

GHC ghc-devs at haskell.org
Thu May 21 07:27:10 UTC 2015


#10437: RunHaskell error in HSExtra on Win64
-------------------------------------+-------------------------------------
              Reporter:              |             Owner:
  ScottSedgwick                      |            Status:  new
                  Type:  bug         |         Milestone:
              Priority:  normal      |           Version:  7.8.3
             Component:  Compiler    |  Operating System:  Windows
              Keywords:  runhaskell  |   Type of failure:  Compile-time
          Architecture:  x86_64      |  crash
  (amd64)                            |        Blocked By:
             Test Case:              |   Related Tickets:
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------
 I ran the following command, and got this error:
 {{{
 $ runhaskell shakefile.hs clean
 shakefile.hs: C:\Users\Scott Sedgwick\AppData\Roaming\cabal\x86_64
 -windows-ghc-7.8.3\extra-1.2\HSextra-1.2.o: Not x86_64 PEi386
 shakefile.hs: shakefile.hs: panic! (the 'impossible' happened)
   (GHC version 7.8.3 for x86_64-unknown-mingw32):
         loadObj "C:\\Users\\Scott
 Sedgwick\\AppData\\Roaming\\cabal\\x86_64-windows-
 ghc-7.8.3\\extra-1.2\\HSextra-1.2.o": failed
 Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
 }}}

 The shakefile in question looks like this:
 {{{
 import Development.Shake
 import Development.Shake.FilePath
 --import System.Info

 srcFiles = [
         "source/main.hs",
         "source/DBDataStructures.hs",
         "source/FormatDBData.hs",
         "source/GetDBData.hs",
         "source/ParseDBData.hs"]

 exeFile = "dist/build/mssql-er/mssql-er.exe"

 depFiles = [
         "dependencies/erd/erd.exe",
         "dependencies/dot/Pathplan.dll",
         "dependencies/dot/config6",
         "dependencies/dot/gvc.dll",
         "dependencies/dot/iconv.dll",
         "dependencies/dot/libfontconfig-1.dll",
         "dependencies/dot/libgmodule-2.0-0.dll",
         "dependencies/dot/libpango-1.0-0.dll",
         "dependencies/dot/libpangowin32-1.0-0.dll",
         "dependencies/dot/ltdl.dll",
         "dependencies/dot/cdt.dll",
         "dependencies/dot/dot.exe",
         "dependencies/dot/gvplugin_dot_layout.dll",
         "dependencies/dot/libcairo-2.dll",
         "dependencies/dot/libfreetype-6.dll",
         "dependencies/dot/libgobject-2.0-0.dll",
         "dependencies/dot/libpangocairo-1.0-0.dll",
         "dependencies/dot/libpng14-14.dll",
         "dependencies/dot/zlib1.dll",
         "dependencies/dot/cgraph.dll",
         "dependencies/dot/freetype6.dll",
         "dependencies/dot/gvplugin_pango.dll",
         "dependencies/dot/libexpat.dll",
         "dependencies/dot/libglib-2.0-0.dll",
         "dependencies/dot/libgthread-2.0-0.dll",
         "dependencies/dot/libpangoft2-1.0-0.dll",
         "dependencies/dot/libxml2.dll"]

 copyDep :: FilePath -> Action()
 copyDep src = do
         let dst = "dist" </> (dropDirectory1 (dropDirectory1 src))
         copyFile' src dst

 main :: IO()
 main = shakeArgs shakeOptions $ do
         want ["deploy"]

         "clean" ~> do
                 cmd "cabal" "clean"

         "dist/setup-config" *> \_ -> do
                 need ["mssql-er.cabal"]
                 cmd "cabal" "configure" "--enable-tests"

         "configure" ~> do
                 need ["dist/setup-config"]

         exeFile *> \_ -> do
                 need (["configure"] ++ srcFiles)
                 cmd "cabal" "build"

         "build" ~> do
                 need [exeFile, "test"]

         "test" ~> do
                 need srcFiles
                 cmd "cabal" "test"

         "deploy" ~> do
                 need ["build"]
                 mapM_ copyDep depFiles
 }}}

 Strangely, if I compile that shakefile using ghc, then run it, it works
 correctly.

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


More information about the ghc-tickets mailing list