Cabal raised error when I was building egison-tutorial-4.0.1 with egison-4.1.0 on haskell:8 docker container:
...
#5 682.3 Failed to build exe:egison-tutorial from egison-tutorial-4.0.1.
#5 682.3 Build log (
#5 682.3 /root/.cabal/logs/ghc-8.10.7/egison-tutorial-4.0.1-e-egison-tutorial-32bbd66ddf7ace983264a8c8fd3aa0a36c7835f7efc41de2c0131eaf79103b5c.log
#5 682.3 ):
#5 682.3 Configuring executable 'egison-tutorial' for egison-tutorial-4.0.1..
#5 682.3 Preprocessing executable 'egison-tutorial' for egison-tutorial-4.0.1..
#5 682.3 Building executable 'egison-tutorial' for egison-tutorial-4.0.1..
#5 682.3 [1 of 2] Compiling Paths_egison_tutorial ( dist/build/egison-tutorial/autogen/Paths_egison_tutorial.hs, dist/build/egison-tutorial/egison-tutorial-tmp/Paths_egison_tutorial.o )
#5 682.3 [2 of 2] Compiling Main ( Main.hs, dist/build/egison-tutorial/egison-tutorial-tmp/Main.o )
#5 682.3
#5 682.3 Main.hs:43:22: error:
#5 682.3 Ambiguous occurrence ‘optShowVersion’
#5 682.3 It could refer to
#5 682.3 either ‘Language.Egison.optShowVersion’,
#5 682.3 imported from ‘Language.Egison’ at Main.hs:17:1-32
#5 682.3 (and originally defined in ‘Language.Egison.CmdOptions’)
#5 682.3 or ‘Main.optShowVersion’, defined at Main.hs:51:5
#5 682.3 |
#5 682.3 43 | Options {optShowVersion = True} -> printVersionNumber
#5 682.3 | ^^^^^^^^^^^^^^
#5 682.3
#5 682.3 Main.hs:44:22: error:
#5 682.3 Ambiguous occurrence ‘optPrompt’
#5 682.3 It could refer to
#5 682.3 either ‘Language.Egison.optPrompt’,
#5 682.3 imported from ‘Language.Egison’ at Main.hs:17:1-32
#5 682.3 (and originally defined in ‘Language.Egison.CmdOptions’)
#5 682.3 or ‘Main.optPrompt’, defined at Main.hs:53:5
#5 682.3 |
#5 682.3 44 | Options {optPrompt = prompt} -> do
#5 682.3 | ^^^^^^^^^
#5 682.3
#5 682.3 Main.hs:61:5: error:
#5 682.3 Ambiguous occurrence ‘optShowVersion’
#5 682.3 It could refer to
#5 682.3 either ‘Language.Egison.optShowVersion’,
#5 682.3 imported from ‘Language.Egison’ at Main.hs:17:1-32
#5 682.3 (and originally defined in ‘Language.Egison.CmdOptions’)
#5 682.3 or ‘Main.optShowVersion’, defined at Main.hs:51:5
#5 682.3 |
#5 682.3 61 | optShowVersion = False,
#5 682.3 | ^^^^^^^^^^^^^^
#5 682.3
#5 682.3 Main.hs:63:5: error:
#5 682.3 Ambiguous occurrence ‘optPrompt’
#5 682.3 It could refer to
#5 682.3 either ‘Language.Egison.optPrompt’,
#5 682.3 imported from ‘Language.Egison’ at Main.hs:17:1-32
#5 682.3 (and originally defined in ‘Language.Egison.CmdOptions’)
#5 682.3 or ‘Main.optPrompt’, defined at Main.hs:53:5
#5 682.3 |
#5 682.3 63 | optPrompt = "> ",
#5 682.3 | ^^^^^^^^^
#5 682.3
#5 682.3 Main.hs:72:28: error:
#5 682.3 Ambiguous occurrence ‘optShowVersion’
#5 682.3 It could refer to
#5 682.3 either ‘Language.Egison.optShowVersion’,
#5 682.3 imported from ‘Language.Egison’ at Main.hs:17:1-32
#5 682.3 (and originally defined in ‘Language.Egison.CmdOptions’)
#5 682.3 or ‘Main.optShowVersion’, defined at Main.hs:51:5
#5 682.3 |
#5 682.3 72 | (NoArg (\opts -> opts {optShowVersion = True}))
#5 682.3 | ^^^^^^^^^^^^^^
#5 682.3
#5 682.3 Main.hs:78:36: error:
#5 682.3 Ambiguous occurrence ‘optPrompt’
#5 682.3 It could refer to
#5 682.3 either ‘Language.Egison.optPrompt’,
#5 682.3 imported from ‘Language.Egison’ at Main.hs:17:1-32
#5 682.3 (and originally defined in ‘Language.Egison.CmdOptions’)
#5 682.3 or ‘Main.optPrompt’, defined at Main.hs:53:5
#5 682.3 |
#5 682.3 78 | (ReqArg (\prompt opts -> opts {optPrompt = prompt})
#5 682.3 | ^^^^^^^^^
#5 682.3
#5 682.3 Main.hs:169:70: error:
#5 682.3 Not in scope: type constructor or class ‘EgisonTopExpr’
#5 682.3 |
#5 682.3 169 | getEgisonExprOrNewLine :: Options -> InputT IO (Either Bool (String, EgisonTopExpr))
#5 682.3 | ^^^^^^^^^^^^^
#5 682.3
#5 682.3 Main.hs:172:81: error:
#5 682.3 Not in scope: type constructor or class ‘EgisonTopExpr’
#5 682.3 |
#5 682.3 172 | getEgisonExprOrNewLine' :: Options -> String -> InputT IO (Either Bool (String, EgisonTopExpr))
#5 682.3 | ^^^^^^^^^^^^^
#5 682.3
#5 682.3 Main.hs:175:35: error:
#5 682.3 Ambiguous occurrence ‘optPrompt’
#5 682.3 It could refer to
#5 682.3 either ‘Language.Egison.optPrompt’,
#5 682.3 imported from ‘Language.Egison’ at Main.hs:17:1-32
#5 682.3 (and originally defined in ‘Language.Egison.CmdOptions’)
#5 682.3 or ‘Main.optPrompt’, defined at Main.hs:53:5
#5 682.3 |
#5 682.3 175 | "" -> getInputLine $ optPrompt opts
#5 682.3 | ^^^^^^^^^
#5 682.3
#5 682.3 Main.hs:176:55: error:
#5 682.3 Ambiguous occurrence ‘optPrompt’
#5 682.3 It could refer to
#5 682.3 either ‘Language.Egison.optPrompt’,
#5 682.3 imported from ‘Language.Egison’ at Main.hs:17:1-32
#5 682.3 (and originally defined in ‘Language.Egison.CmdOptions’)
#5 682.3 or ‘Main.optPrompt’, defined at Main.hs:53:5
#5 682.3 |
#5 682.3 176 | _ -> getInputLine $ replicate (length $ optPrompt opts) ' '
#5 682.3 | ^^^^^^^^^
#5 682.3 cabal: Failed to build exe:egison-tutorial from egison-tutorial-4.0.1. See the
#5 682.3 build log above for details.
...
FROM haskell:8
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cabal update && \
cabal install \
egison-4.1.0 \
egison-tutorial
WORKDIR /docker
ENTRYPOINT ["egison"]