Skip to content

second "cabal build" fails with a mention of "Spec.hs" #2247

@mwotton

Description

@mwotton

I modified the underlying Cabal slightly to get it to print a stack trace by calling errorWithStackTrace rather than just calling "die" in findFile, and got this result.

orb ➜  ~/projects/hsClassifier  ~/src/cabal-install-1.20.0.3/dist/build/cabal/cabal build -v3 
Using a sandbox located at /home/mark/projects/hsClassifier/.cabal-sandbox
Reading available packages...
Reading installed packages...
("/opt/ghc/7.8.3/bin/ghc-pkg",["dump","--package-db=/home/mark/projects/hsClassifier/.cabal-sandbox/x86_64-linux-ghc-7.8.3-packages.conf.d","-v0"])
("/opt/ghc/7.8.3/bin/ghc",["--print-libdir"])
Checking whether the dependency is modified: /home/mark/projects/HLearn
Using internal setup method with build-type Simple and args:
["sdist","--verbose=3","--builddir=dist","--list-sources=cabal-sdist-list-sources"]
cabal: Spec.hs blah: doesn't exist
Stack trace:
  Distribution.Simple.Utils.findFile (Distribution/Simple/Utils.hs:(620,1)-(624,77))
  Distribution.Simple.SrcDist.listPackageSourcesOrdinary.\ (Distribution/Simple/SrcDist.hs:(183,24)-(198,45))
  Distribution.Simple.SrcDist.listPackageSourcesOrdinary.withTest (Distribution/Simple/SrcDist.hs:248:5-61)
  Distribution.Simple.SrcDist.listPackageSourcesOrdinary (Distribution/Simple/SrcDist.hs:(167,1)-(249,61))
  Distribution.Simple.SrcDist.listPackageSources (Distribution/Simple/SrcDist.hs:(148,1)-(154,46))
  Distribution.Simple.SrcDist.sdist.\ (Distribution/Simple/SrcDist.hs:(95,58)-(100,39))
  Distribution.Simple.SrcDist.sdist (Distribution/Simple/SrcDist.hs:(91,1)-(138,36))
  Distribution.Simple.simpleUserHooks.\ (Distribution/Simple.hs:518:32-72)
  Distribution.Simple.sdistAction (Distribution/Simple.hs:(327,1)-(340,51))
  Distribution.Simple.defaultMainHelper.commands (Distribution/Simple.hs:(172,5)-(187,7))
  Distribution.Simple.defaultMainHelper (Distribution/Simple.hs:(147,1)-(187,7))
  Distribution.Simple.defaultMainArgs (Distribution/Simple.hs:128:1-51)
  Distribution.Client.SetupWrapper.internalSetupMethod (Distribution/Client/SetupWrapper.hs:(198,1)-(203,27))
  Distribution.Client.SetupWrapper.setupWrapper (Distribution/Client/SetupWrapper.hs:(150,1)-(172,32))
  Distribution.Client.Sandbox.Timestamp.allPackageSourceFiles.doListSources (Distribution/Client/Sandbox/Timestamp.hs:(231,7)-(234,37))
  Distribution.Client.Utils.inDir (Distribution/Client/Utils.hs:(83,1)-(87,47))
  Distribution.Client.Sandbox.Timestamp.allPackageSourceFiles (Distribution/Client/Sandbox/Timestamp.hs:(215,1)-(244,12))
  Distribution.Client.Sandbox.Timestamp.isDepModified (Distribution/Client/Sandbox/Timestamp.hs:(248,1)-(266,20))
  Distribution.Client.Sandbox.Timestamp.listModifiedDeps (Distribution/Client/Sandbox/Timestamp.hs:(273,1)-(287,74))
  Distribution.Client.Sandbox.withSandboxPackageInfo (Distribution/Client/Sandbox.hs:(610,1)-(655,69))
  Distribution.Client.Sandbox.reinstallAddSourceDeps (Distribution/Client/Sandbox.hs:(551,1)-(600,34))
  Distribution.Client.Sandbox.maybeReinstallAddSourceDeps (Distribution/Client/Sandbox.hs:(682,1)-(735,9))
  Main.reconfigure.onBuildConfig (Main.hs:(489,5)-(539,37))
  Main.reconfigure (Main.hs:(453,1)-(610,28))
  Main.buildAction (Main.hs:(297,1)-(311,56))
  Distribution.Simple.Command.commandAddAction.applyDefaultArgs (Distribution/Simple/Command.hs:(495,9)-(497,31))
  Distribution.Simple.Command.fmap (Distribution/Simple/Command.hs:(470,3)-(473,62))
  Distribution.Simple.Command.commandAddAction (Distribution/Simple/Command.hs:(489,1)-(497,31))
  Main.mainWorker.commands (Main.hs:(202,5)-(241,7))
  Distribution.Compat.Exception.catchIO (Distribution/Compat/Exception.hs:14:1-25)
  Distribution.Simple.Utils.topHandlerWith (Distribution/Simple/Utils.hs:(228,1)-(243,44))
  Distribution.Simple.Utils.topHandler (Distribution/Simple/Utils.hs:246:1-72)
  Main.mainWorker (Main.hs:(161,1)-(241,7))
  Main.main (Main.hs:(154,1)-(158,24))

Notice that it seems to be calling sdist rather than build.

Oddly, if i cabal clean, then cabal build again, it works, but if i even run "cabal configure" first, the following cabal build fails with this error.

cabal config for the file is:

-- Initial hsClassifier.cabal generated by cabal init.  For further
-- documentation, see http://haskell.org/cabal/users-guide/

name:                hsClassifier
version:             0.1.0.0
-- synopsis:
-- description:
-- license:
license-file:        LICENSE
author:              Mark Wotton
maintainer:          mwotton@gmail.com
-- copyright:
category:            Math
build-type:          Simple
-- extra-source-files:
cabal-version:       >=1.10

library
  exposed-modules: Classifier
  -- other-modules:
  -- other-extensions:
  build-depends:       base >=4.7 && <4.8
                       , HLearn
  hs-source-dirs: src
  default-language:    Haskell2010

This does seem to require grabbing https://github.com/mikeizbicki/HLearn/ and izbicki.me/public/cs/github/hmatrix.tgz
and adding them as a cabal sandbox add-source.

I've timed out on working out what on earth is going on here. Hoping somebody else has a clue.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions