[Haskell-cafe] GHC/Cabal on AFS

Tristan Ravitch travitch at cs.wisc.edu
Mon Sep 5 19:06:37 CEST 2011

I have the Haskell Platform (and my home directory with my
cabal-installed packages) installed on an AFS (a network filesystem)
volume and have been noticing a strange issue.  Whenever I install a
package using cabal-install and it gets to a phase of the build where
it needs to load a bunch of packages, the build fails without a useful
error.  Example:

cabal-dev install yesod
Resolving dependencies...
Configuring yesod-core-
Preprocessing library yesod-core-
Preprocessing test suites for yesod-core-
Building yesod-core-
[ 1 of 15] Compiling Yesod.Internal.Session (
Yesod/Internal/Session.hs, dist/build/Yesod/Internal/Session.o )
[ 2 of 15] Compiling Paths_yesod_core (dist/build/autogen/Paths_yesod_core.hs, dist/build/Paths_yesod_core.o)
[ 3 of 15] Compiling Yesod.Logger     (Yesod/Logger.hs,dist/build/Yesod/Logger.o )
[ 4 of 15] Compiling Yesod.Internal.RouteParsing(Yesod/Internal/RouteParsing.hs,dist/build/Yesod/Internal/RouteParsing.o)
[ 5 of 15] Compiling Yesod.Internal   (Yesod/Internal.hs,dist/build/Yesod/Internal.o )
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package bytestring- ... linking ... done.
Loading package array- ... linking ... done.
Loading package containers- ... linking ... done.
Loading package deepseq- ... linking ... done.
Loading package text- ... cabal: Error: some packages failed to install:
yesod- depends on yesod-core- which failed to install.
yesod-auth-0.7.1 depends on yesod-core- which failed to install.
yesod-core- failed during the building phase. The exception
ExitFailure 7
yesod-form-0.3.1 depends on yesod-core- which failed to install.
yesod-json-0.2.1 depends on yesod-core- which failed to install.
yesod-persistent-0.2.1 depends on yesod-core- which failed to install.

If I keep re-running it, it will eventually succeed.  It also always
makes forward progress (the next attempt will get past text and a few
more packages).  It seems to be related to the state of the AFS cache;
if all of the required packages are in the local AFS cache it usually
just works.  If the cache has just been flushed (due to other FS
operations), this failure pretty much always shows up.

Has anyone else experienced anything like this?  Alternatively, does
anyone have ideas on getting a more useful error message/tracking it
down?  I didn't see any relevant bugs filed yet, but I wanted to get
more information before adding a report.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110905/0be768ee/attachment.pgp>

More information about the Haskell-Cafe mailing list