[Hackage] #890: Base library build fails with detailed build reporting

#890: Base library build fails with detailed build reporting ---------------------------------+------------------------------------------ Reporter: batterseapower | Owner: Type: defect | Status: new Priority: normal | Milestone: Component: cabal-install tool | Version: 1.8.0.6 Severity: normal | Keywords: Difficulty: unknown | Ghcversion: Platform: | ---------------------------------+------------------------------------------ If you turn on detailed build reports with `--build-log=foo.log` then cabal-install uses the external setup method for a package rather than the internal setup method. If you try to use the external setup method with the "base" package then compiling the setup executable like this fails: {{{ /usr/bin/ghc -v --make ./dist/setup/setup.hs -o ./dist/setup/setup -odir ./dist/setup -hidir ./dist/setup -i -i. -package-conf /Users/mbolingbroke/Programming/Checkouts/hackage-server/hackage-build /build-cache/local.conf.d -package Cabal-1.10.2.0 }}} The reason is that the base package exports a Prelude module which is erroneously picked up when compiling Setup.hs in preference to the Prelude exported by the installed base library. This manifests as: {{{ *** Chasing dependencies: Chasing modules from: *dist/setup/setup.hs Prelude.hs:38:2: lexical error at character 'i' }}} (Because the Prelude in the base module uses CPP) -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/890 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#890: Base library build fails with detailed build reporting ---------------------------------+------------------------------------------ Reporter: batterseapower | Owner: Type: defect | Status: new Priority: normal | Milestone: Component: cabal-install tool | Version: 1.8.0.6 Severity: normal | Keywords: Difficulty: unknown | Ghcversion: Platform: | ---------------------------------+------------------------------------------ Comment(by batterseapower): If you were to instead build the setup executable as follows it would work flawlessly: {{{ cd dist/setup && /usr/bin/ghc -v --make setup.hs -o setup -package-conf /Users/mbolingbroke/Programming/Checkouts/hackage-server/hackage-build /build-cache/local.conf.d -package Cabal-1.10.2.0 }}} -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/890#comment:1 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#890: Base library build fails with detailed build reporting ---------------------------------+------------------------------------------ Reporter: batterseapower | Owner: Type: defect | Status: new Priority: normal | Milestone: Component: cabal-install tool | Version: 1.8.0.6 Severity: normal | Keywords: Difficulty: unknown | Ghcversion: Platform: | ---------------------------------+------------------------------------------ Comment(by batterseapower): Or even more mininally, just remove the `-i.`:i.e. remove `"-i" ++ workingDir`from SetupWrapper.hs:295. Is there a good reason for this to be here? You probably only want it when you are compiling the Cabal package itself. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/890#comment:2 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#890: Base library build fails with detailed build reporting ---------------------------------+------------------------------------------ Reporter: batterseapower | Owner: Type: defect | Status: closed Priority: normal | Milestone: Component: cabal-install tool | Version: 1.8.0.6 Severity: normal | Resolution: invalid Keywords: | Difficulty: unknown Ghcversion: | Platform: ---------------------------------+------------------------------------------ Changes (by batterseapower): * status: new => closed * resolution: => invalid Comment: Never mind, we can't remove -i. without breaking packages that import other modules from their Setup.hs. And anyway compiling "base" with Cabal fails even if you fix this particular bug. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/890#comment:3 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#890: Base library build fails with detailed build reporting ---------------------------------+------------------------------------------ Reporter: batterseapower | Owner: Type: defect | Status: closed Priority: normal | Milestone: Component: cabal-install tool | Version: 1.8.0.6 Severity: normal | Resolution: invalid Keywords: | Difficulty: unknown Ghcversion: | Platform: ---------------------------------+------------------------------------------ Comment(by duncan): It would be nice however to be able to specify external packages that custom Setup.hs depends on, and when adding that feature we could also add a way to stick setup src files in a subdir. That ought to fix the immediate problem. As you say, there's bigger issues for compiling base separately from the ghc build process. It would be nice though, e.g. for creating new sets of libs for cross-compilation. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/890#comment:4 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#890: Base library build fails with detailed build reporting ---------------------------------+------------------------------------------ Reporter: batterseapower | Owner: Type: defect | Status: closed Priority: normal | Milestone: Component: cabal-install tool | Version: 1.8.0.6 Severity: normal | Resolution: invalid Keywords: | Difficulty: unknown Ghcversion: | Platform: ---------------------------------+------------------------------------------ Comment(by elga): * [http://www.releve-identite-operateur.fr/rio-bouygues.html rio bouygues] -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/890#comment:5 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#890: Base library build fails with detailed build reporting ---------------------------------+------------------------------------------ Reporter: batterseapower | Owner: Type: defect | Status: closed Priority: normal | Milestone: Component: cabal-install tool | Version: 1.8.0.6 Severity: normal | Resolution: invalid Keywords: | Difficulty: unknown Ghcversion: | Platform: ---------------------------------+------------------------------------------ Comment(by edouard): Termine le parcours du combattant ! les procedures, aujourd'hui tres simplifiees, sont accessibles en quelques clics seulement. [http://www .releve-identite-operateur.fr/numbero-de-virgin-mobile.html virgin mobile] -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/890#comment:6 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects
participants (1)
-
Hackage