
#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