Skip to content
This repository was archived by the owner on Feb 3, 2022. It is now read-only.
This repository was archived by the owner on Feb 3, 2022. It is now read-only.

hptools/src/GhcDist.hs does not compile #173

@mjfh

Description

@mjfh

I tried to compile haskell-platform from scratch with ghc 7.8.3 as well as 7.10.1. In either case it fails at GhcDist.hs with the error message

Building hptool-0.1...
Preprocessing executable 'hptool' for hptool-0.1...
[29 of 30] Compiling GhcDist          ( src/GhcDist.hs, dist/build/hptool/hptool-tmp/GhcDist.o )

src/GhcDist.hs:104:38:
    No instance for (CmdString t0) arising from a use of ‘command’
    The type variable ‘t0’ is ambiguous
    Note: there are several potential instances:
      instance CmdString Data.ByteString.Internal.ByteString
        -- Defined in ‘Development.Shake.Command’
      instance CmdString Data.ByteString.Lazy.Internal.ByteString
        -- Defined in ‘Development.Shake.Command’
      instance CmdString () -- Defined in ‘Development.Shake.Command’
      ...plus one other
    In a stmt of a 'do' block:
      (Stdout cppVersion, Stderr _) <- command
                                         [] cppCommand ["--version"]
    In the expression:
      do { let cppCommand
                 = fromMaybe
                     (error $ "Haskell CPP command not found in " ++ settingsFile)
                     (lookup "Haskell CPP command" settings);
           (Stdout cppVersion, Stderr _) <- command
                                              [] cppCommand ["--version"];
           return . listToMaybe
           $ filter
               ((`isInfixOf` cppVersion) . cppCommandName)
               [minBound .. maxBound] }
    In an equation for ‘getCppCommand’:
        getCppCommand settings settingsFile
          = do { let cppCommand = ...;
                 (Stdout cppVersion, Stderr _) <- command
                                                    [] cppCommand ["--version"];
                 return . listToMaybe
                 $ filter
                     ((`isInfixOf` cppVersion) . cppCommandName)
                     [minBound .. maxBound] }

Have you any idea how to fix it?
Jordan

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions