title: Haskell - can't find package
body: <p>I have a package installed via cabal: Data.Vector</p>
  
  <p>But when I attempt to compile a program that has <code>import Data.Vector</code> in it:</p>
  
  <pre><code>Drews-MacBook-Pro:Blokus-AI drewgross$ ghc --make -O2 -prof -auto-all playGame
  
  Grid.hs:28:8:
      Could not find module `Data.Vector'
      Perhaps you meant
        Data.Tensor (from Tensor-1.0.0.1)
        Data.Functor (from base)
      Use -v to see a list of the files searched for.
  Drews-MacBook-Pro:Blokus-AI drewgross$ 
  </code></pre>
  
  <p>The command I used to install was:</p>
  
  <pre><code>cabal install -p --reinstall --force-reinstalls vector
  </code></pre>
  
  <p>I've done other various thing in my attempt to get my program to compile, but nothing has worked. I'd really like to just delete everything, go back to square one and download the package again. How can I do that?</p>
  
  <p>Edit: further investigation shows that there might be 2 versions of Data.Vector: 0.10.0.1 and 0.9.1, maybe they are conflicting somehow?</p>
  
  <p>Edit: <code>ghc-pkg check</code> lists no errors, but gives me a ton of warnings that look like this:</p>
  
  <pre><code>Warning: haddock-interfaces: /Users/drewgross/.cabal/share/doc/haskell-lexer-1.0/html/haskell-lexer.haddock doesn't exist or isn't a file
  </code></pre>
  
  <p>Edit: GCHi also doesn't find it</p>
  
  <pre><code>λ&gt; import Data.Vector
  
  &lt;no location info&gt;:
      Could not find module `Data.Vector'
      Perhaps you meant Data.Functor (from base)
  λ&gt; 
  </code></pre>
  
  <p>Edit: <code>ghc-pkg list vector</code>:</p>
  
  <pre><code>Drews-MacBook-Pro:Blokus-AI drewgross$ ghc-pkg list vector
  /Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/lib/ghc-7.4.2/package.conf.d
  /Users/drewgross/.ghc/x86_64-darwin-7.4.2/package.conf.d
     vector-0.10.0.1
  Drews-MacBook-Pro:Blokus-AI drewgross$ 
  </code></pre>
  
  <p>and building with -v flag:</p>
  
  <pre><code>Drews-MacBook-Pro:Blokus-AI drewgross$ ghc --make -O2 -prof -auto-all -v playGame
  Glasgow Haskell Compiler, Version 7.4.2, stage 2 booted by GHC version 7.4.2
  Using binary package database: /usr/local/Cellar/ghc/7.4.2/lib/ghc-7.4.2/package.conf.d/package.cache
  Using binary package database: /Users/drewgross/.ghc/x86_64-darwin-7.4.2/package.conf.d/package.cache
  package Cabal-1.16.0.3-e689d8e77b2f476229954cd43b1737bd is unusable due to missing or recursive dependencies:
    base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd directory-1.1.0.2-72e928d14fc50f31f7e6404839a15691 unix-2.5.1.1-29636eb78541401e8e00393ef5df097e
  package Tensor-1.0.0.1-a8f1a59665c3ebc4867678a14fe1460f is unusable due to missing or recursive dependencies:
    base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd
  package binary-0.5.1.1-e62c39c3aba8093e9b9655a4a8d2bce9 is unusable due to missing or recursive dependencies:
    base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd bytestring-0.10.0.1-9b03e69060669eabf0b20e150305c7be
  package bmp-1.2.3.2-c7572ec2bbb802bfd93fed0953c61d5d is unusable due to missing or recursive dependencies:
    base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd binary-0.5.1.1-e62c39c3aba8093e9b9655a4a8d2bce9 bytestring-0.10.0.1-9b03e69060669eabf0b20e150305c7be
  package bytestring-0.10.0.1-9b03e69060669eabf0b20e150305c7be is unusable due to missing or recursive dependencies:
    base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd
  package ghc-paths-0.1.0.9-4e6c624a3431a4fa7630e4fb77be4c83 is unusable due to missing or recursive dependencies:
    base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd
  package haskell-lexer-1.0-8fea1c35b626a2de761522690a88c063 is unusable due to missing or recursive dependencies:
    base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd
  package primitive-0.4.1-0007d441db5f4ce1ffd66bd3816c2d4e is unusable due to missing or recursive dependencies:
    base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd
  package split-0.2.1.1-03ec5738edb34f2e8967d25637b9392f is unusable due to missing or recursive dependencies:
    base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd
  package vector-0.10.0.1-3450daae3d9f2092020075d05481123c is unusable due to missing or recursive dependencies:
    base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd primitive-0.5.0.1-15cdc8c11a54a78809b647af0c2975b3
  wired-in package ghc-prim mapped to ghc-prim-0.2.0.0-7d3c2c69a5e8257a04b2c679c40e2fa7
  wired-in package integer-gmp mapped to integer-gmp-0.4.0.0-af3a28fdc4138858e0c7c5ecc2a64f43
  wired-in package base mapped to base-4.5.1.0-47f48c3ae7f8256a66a23e9dfe22eefc
  wired-in package rts mapped to builtin_rts
  wired-in package template-haskell mapped to template-haskell-2.7.0.0-e109822dcbed82c43f9fa60194eb64b5
  wired-in package dph-seq not found.
  wired-in package dph-par not found.
  Hsc static flags: -fscc-profiling -static
  *** Chasing dependencies:
  Chasing modules from: *playGame.hs
  
  Grid.hs:28:8:
      Could not find module `Data.Vector'
      Perhaps you meant Data.Functor (from base)
      Locations searched:
        Data/Vector.hs
        Data/Vector.lhs
  *** Deleting temp files:
  Deleting: 
  *** Deleting temp dirs:
  Deleting: 
  Drews-MacBook-Pro:Blokus-AI drewgross$ 
  </code></pre>
  
  <p>This is what shell uses:</p>
  
  <pre><code>Drews-MacBook-Pro:Blokus-AI drewgross$ which ghc
  /usr/bin/ghc
  </code></pre>
  
  <p>I did <code>cabal install -v lens</code> and obviously there was a ton of output but I think this is the relevant part:</p>
  
  <pre><code>Registering lens-3.7.0.2...
  /usr/bin/ghc-pkg update - --global --user
  Updating world file...
  Drews-MacBook-Pro:Blokus-AI drewgross$ 
  </code></pre>
  
  <p>Which seems to indicate that they are using the same version. I can post more of the output of a cabal install if its relevant.</p>
  
  <p>Edit: more ghc output from cabal install -v</p>
  
  <pre><code>Building lens-3.7.0.2...
  Preprocessing library lens-3.7.0.2...
  Building library...
  creating dist/build
  /usr/bin/ghc --make -package-name lens-3.7.0.2 -hide-all-packages -fbuilding-cabal-package -i -idist/build -isrc -idist/build/autogen -Idist/build/autogen -Idist/build -optP-DTRUSTWORTHY=1 -optP-DDEFAULT_SIGNATURES=1 -optP-include -optPdist/build/autogen/cabal_macros.h -odir dist/build -hidir dist/build -stubdir dist/build -package-id array-0.4.0.0-0b6c5ca7e879a14d110ca4c001dd9297 -package-id base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd -package-id bytestring-0.9.2.1-0044644a71adfe5e950e6c6f6ca13065 -package-id comonad-3.0.0.2-6ef27fce8536ebdf9c364307a0915f63 -package-id comonad-transformers-3.0-a6df581636b1c9b514cfa6560f17d6a3 -package-id comonads-fd-3.0-b906ed7898871c5d2427052e2eefa62e -package-id containers-0.4.2.1-75f143aa39a3e77a1ce2300025bdd8ce -package-id filepath-1.3.0.0-f998e5510c76a98913f57b14b4f16c57 -package-id ghc-prim-0.2.0.0-7d3c2c69a5e8257a04b2c679c40e2fa7 -package-id hashable-1.1.2.5-14291f3b4e96b5599759ce7daa2bd37c -package-id mtl-2.1.2-02e701f9b1590ee88a0b5b0bd5d93a29 -package-id parallel-3.2.0.3-4cdd6067624f867b253b98d6d9fb9f52 -package-id semigroups-0.8.4.1-4d3a86b037504e6000a0354510588745 -package-id split-0.2.1.1-03ec5738edb34f2e8967d25637b9392f -package-id template-haskell-2.7.0.0-29110cc89a711d6ab3e7ee0e0a8ee949 -package-id text-0.11.2.3-473d9a1761b27c7315f2ef4569d93c3c -package-id transformers-0.3.0.0-8e66ecc7d4dae2b07b2b5406908c70e4 -package-id unordered-containers-0.2.2.1-d70d5ccb1df11dbbbaac89571b1ee46d -package-id vector-0.10.0.1-3450daae3d9f2092020075d05481123c -O -Wall -fwarn-tabs -O2 -fdicts-cheap -funbox-strict-fields -XHaskell98 Control.Lens.TH Language.Haskell.TH.Lens Control.Exception.Lens Control.Lens Control.Lens.Action Control.Lens.Classes Control.Lens.Combinators Control.Lens.Fold Control.Lens.Getter Control.Lens.Indexed Control.Lens.IndexedGetter Control.Lens.IndexedFold Control.Lens.IndexedLens Control.Lens.IndexedSetter Control.Lens.IndexedTraversal Control.Lens.Internal Control.Lens.Internal.Zipper Control.Lens.Iso Control.Lens.Loupe Control.Lens.Plated Control.Lens.Prism Control.Lens.Representable Control.Lens.Setter Control.Lens.Simple Control.Lens.Traversal Control.Lens.Tuple Control.Lens.Type Control.Lens.WithIndex Control.Lens.Wrapped Control.Lens.Zipper Control.Lens.Zoom Data.Bits.Lens Data.ByteString.Lens Data.ByteString.Strict.Lens Data.ByteString.Lazy.Lens Data.Complex.Lens Data.Data.Lens Data.Dynamic.Lens Data.HashSet.Lens Data.IntSet.Lens Data.List.Lens Data.List.Split.Lens Data.Sequence.Lens Data.Set.Lens Data.Text.Lens Data.Text.Strict.Lens Data.Text.Lazy.Lens Data.Tree.Lens Data.Typeable.Lens Data.Vector.Lens Data.Vector.Generic.Lens GHC.Generics.Lens Data.Array.Lens System.FilePath.Lens Control.Parallel.Strategies.Lens Control.Seq.Lens Control.Lens.Internal.Combinators
  [ 1 of 57] Compiling Control.Lens.Classes ( src/Control/Lens/Classes.hs, dist/build/Control/Lens/Classes.o )
  [ 2 of 57] Compiling Control.Lens.Internal ( src/Control/Lens/Internal.hs, dist/build/Control/Lens/Internal.o )
  [ 3 of 57] Compiling Control.Lens.Internal.Combinators ( src/Control/Lens/Internal/Combinators.hs, dist/build/Control/Lens/Internal/Combinators.o )
  [ 4 of 57] Compiling Control.Lens.Indexed ( src/Control/Lens/Indexed.hs, dist/build/Control/Lens/Indexed.o )
  [ 5 of 57] Compiling Control.Lens.IndexedGetter ( src/Control/Lens/IndexedGetter.hs, dist/build/Control/Lens/IndexedGetter.o )
  [ 6 of 57] Compiling Control.Lens.Action ( src/Control/Lens/Action.hs, dist/build/Control/Lens/Action.o )
  [ 7 of 57] Compiling Control.Lens.Setter ( src/Control/Lens/Setter.hs, dist/build/Control/Lens/Setter.o )
  </code></pre>
  
  <p>Edit: ghc-pkg dump</p>
  
  <pre><code>Drews-MacBook-Pro:Blokus-AI drewgross$ ghc-pkg dump | grep "id: base"
  id: base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd
  </code></pre>