Question

I am at a loss. I use OS X 10.8.2.

The only reference I can find is this:

  • 4.1 I just installed packages, but now the packages are not found`

  • This happens when you install a package globally, and the previous
    packages were installed locally. Note that cabal-install install
    locally by default and the "runhaskell Setup" commands install
    globally by default.

cabal is set to install locally by default. I have not changed this. Haskell was installed globally.

$ cabal install pointfree
Resolving dependencies...
Configuring pointfree-1.0.4.3...
Building pointfree-1.0.4.3...
Preprocessing executable 'pointfree' for pointfree-1.0.4.3...
[1 of 7] Compiling Plugin.Pl.Common ( Plugin/Pl/Common.hs, dist/build/pointfree/pointfree-tmp/Plugin/Pl/Common.o )
[2 of 7] Compiling Plugin.Pl.Parser ( Plugin/Pl/Parser.hs, dist/build/pointfree/pointfree-tmp/Plugin/Pl/Parser.o )
[3 of 7] Compiling Plugin.Pl.PrettyPrinter ( Plugin/Pl/PrettyPrinter.hs, dist/build/pointfree/pointfree-tmp/Plugin/Pl/PrettyPrinter.o )
[4 of 7] Compiling Plugin.Pl.Transform ( Plugin/Pl/Transform.hs, dist/build/pointfree/pointfree-tmp/Plugin/Pl/Transform.o )
[5 of 7] Compiling Plugin.Pl.Rules  ( Plugin/Pl/Rules.hs, dist/build/pointfree/pointfree-tmp/Plugin/Pl/Rules.o )
[6 of 7] Compiling Plugin.Pl.Optimize ( Plugin/Pl/Optimize.hs, dist/build/pointfree/pointfree-tmp/Plugin/Pl/Optimize.o )
[7 of 7] Compiling Main             ( Main.hs, dist/build/pointfree/pointfree-tmp/Main.o )
Linking dist/build/pointfree/pointfree ...
Warning: No documentation was generated as this package does not contain a
library. Perhaps you want to use the --executables flag.
Installing executable(s) in
/Users/beoliver/Library/Haskell/ghc-7.4.2/lib/pointfree-1.0.4.3/bin
Installed pointfree-1.0.4.3
Updating documentation index /Users/beoliver/Library/Haskell/doc/index.html

$ cat ~/.bash_profile
export PATH="$HOME/Library/Haskell/bin:$PATH"


$ ls -l ~/Library/Haskell/bin/
total 24
lrwxr-xr-x  1 beoliver  staff  49 Dec 28 16:06 cabal -> ../ghc-7.4.2/lib/cabal-install-1.16.0.2/bin/cabal
lrwxr-xr-x  1 beoliver  staff  48 Dec 28 19:52 pointfree -> ../ghc-7.4.2/lib/pointfree-1.0.4.3/bin/pointfree
-rw-r--r--  1 beoliver  staff  66 Dec 28 19:53 x

The x is odd...

$ cat ~/Library/Haskell/bin/x
(line 1, column 5):
unexpected "+"
expecting space or simple term

hmm

I check ghc-pkg list but it is not there. So see if it with the user packages.

$ ls ~/Library/Haskell/ghc-7.4.2/lib/
Cabal-1.16.0.3      cabal-install-1.16.0.2  pointfree-1.0.4.3

$ file pointfree-1.0.4.3/bin/pointfree 
pointfree-1.0.4.3/bin/pointfree: Mach-O 64-bit executable x86_64

$ ghc-pkg list --user
/Users/beoliver/.ghc/x86_64-darwin-7.4.2/package.conf.d
   Cabal-1.16.0.3
$ cabal --version
cabal-install version 1.16.0.2
using version 1.16.0.3 of the Cabal library 

Am I missing a flag here? do i still need to build it?

$ ghc-pkg check
Warning: haddock-interfaces: /Library/Haskell/ghc-7.4.2/lib/haskell-platform-2012.4.0.0/doc/html/haskell-platform.haddock doesn't exist or isn't a file
Warning: haddock-html: /Library/Haskell/ghc-7.4.2/lib/haskell-platform-2012.4.0.0/doc/html doesn't exist or isn't a directory
Warning: haddock-interfaces: /Library/Haskell/ghc-7.4.2/lib/GLUT-2.1.2.1/doc/html/GLUT.haddock doesn't exist or isn't a file
Was it helpful?

Solution

I check ghc-pkg list but it is not there.

ghc-pkg only knows and cares about installed libraries. pointfree is an executable without accompanying library, so ghc-pkg doesn't know about it.

Since $HOME/Library/Haskell/bin is in your PATH, and the executable is linked to there, you can simply run it from the command line

$ pointfree "\f x y -> f y x"
flip

(or something like that, it's been a long time since I played with pointfree).

the x is odd...

That looks like a parse error message from parsec. I have no idea what may have written it to that file, though.

$ ghc-pkg check
Warning: haddock-interfaces: /Library/Haskell/ghc-7.4.2/lib/haskell-platform-2012.4.0.0/doc/html/haskell-platform.haddock doesn't exist or isn't a file
Warning: haddock-html: /Library/Haskell/ghc-7.4.2/lib/haskell-platform-2012.4.0.0/doc/html doesn't exist or isn't a directory
Warning: haddock-interfaces: /Library/Haskell/ghc-7.4.2/lib/GLUT-2.1.2.1/doc/html/GLUT.haddock doesn't exist or isn't a file

Something seems to have trampled on your haddocks, or they weren't properly installed from the beginning. That may indicate an actual problem, but you can probably ignore it if you don't want local documentation.

OTHER TIPS

I found my cabal package binaries in ~/.cabal/bin/.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top