
Am Sonntag 28 Februar 2010 18:30:59 schrieb Andrew Coppin:
Daniel Fischer wrote:
Am Sonntag 28 Februar 2010 17:52:19 schrieb Andrew Coppin:
It also puts the binary in a strange place, but I guess I can live with that...
Which strange place? By default, it should go to ~/.cabal/bin, I think.
Indeed. You'd expect it to be in some system-wide location, but apparently not.
Why? It could only be in a system-wide location if you installed as root. Not everybody who wants to install cabal is root/can sudo, so the natural default is ~/.cabal/bin or ~/bin. Since there are advantages to keep all cabal stuff in one place separate from whatever, ~/.cabal is preferable. But if you want to have it system-wide (why would you, with a user cabal, you don't have to make a complete reinstall if you bork your installation), you can run $ ./bootstrap.sh --global
Anyway, you should add that to your path, put something like
if [ -z `/bin/echo ${PATH} | /usr/bin/grep cabal` ] then export PATH="/home/andrew/.cabal/bin:$PATH" fi
in your .bashrc
Uh... what?
If the pattern "cabal" is not in your path, prepend ~/.cabal/bin to your path and export it. Then you can invoke executables in that directory without giving the path on the command line. But yes, if you're new to shell-scripting, it all looks geek to you :)
Now, hypothetically, I should have a Linux Haskell system, so I can actually compile *anything* that's on Hackage.
Not really, you'll need to install external libraries (C stuff, mostly) for many packages. But it should be a lot easier than on Windows.
On Linux, it seems you install the development package, rerun Cabal, and it it somehow "knows" that the library is installed and how to find in.
Mostly - there are a few standard locations for headers and libraries where configure looks, but stuff for some packages must be queried for by pkg-config, only some packages where that's necessary don't come with a .pc file, oops.
On Windows... well, forget it. It'll never work, so you might as well not bother trying.