Installing Haskell on Windows 7

[Please excuse me if I seem to be a bit frustrated. I am. I have tried to transcribe a live Haskell platform installation session, but I don't remember details of my past attempts to get cabal working. If you have any questions: shoot.] Hi I've been trying to install GHC and some libraries on Windows 7 for some time now, to no avail. I'm on Windows 7 Home Premium here, and I'd like to install all Haskell-related stuff in C:\Weiteres\Haskell (cabal --user installations ending up in C:\Users\Thomas\AppData\Roaming\cabal is fine). Actually I would like to make system-wide package installations (maybe in C:\Weiteres\Haskell\cabal), but not even --user is working fine so far, so I postpone that. I see two basic options: * Haskell Platform (older release, but all relevant libs bundled with it) * ghc and libs installed by hand (newer release, but more hassle) For the first option I expect a nice installer that just does everything for me, for the second option I'm going along with the instructions in Real World Haskell's appendix. So far, none of it worked. ghc is fine (mostly), but cabal is a total mess. I've just tried the second option and actually I've got quite far, until the network library didn't install. I don't have any specifics anymore. And whichever option I choose I can only make --user installs with cabal (but I'd be willing to settle for that). Okay, let's skip all this "manual installation stuff", on to the beginner-friendly first option: Haskell platform I specify the destination folder "C:\Weiteres\Haskell\Platform" and just go with the default selection of checkboxes. Now I'm trying ghci from the start menu... okay, it works. Entering Windows' command prompt I now enter "cabal update". There is a newer version of cabal-install available. I'm ignoring that for now. I don't want to mess up a tested, working cabal-install version and deviate from the Haskell Platform release just yet. Now "cabal install hakyll --user": C:\Users\Thomas>cabal install hakyll --user Resolving dependencies... Downloading pandoc-1.3... [1 of 1] Compiling Main ( C:\Users\Thomas\AppData\Local\Temp\pandoc- 1.35032\pandoc-1.3\Setup.hs, C:\Users\Thomas\AppData\Local\Temp\pandoc-1.35032\p andoc-1.3\dist\setup\Main.o ) Linking C:\Users\Thomas\AppData\Local\Temp\pandoc-1.35032\pandoc-1.3\dist\setup\ setup.exe ... Configuring pandoc-1.3... Preprocessing library pandoc-1.3... Preprocessing executables for pandoc-1.3... Building pandoc-1.3... src\Text\Pandoc\Shared.hs:121:7: Could not find module `System.IO.UTF8': There are files missing in the `utf8-string-0.3.6' package, try running 'ghc-pkg check'. Use -v to see a list of the files searched for. cabal: Error: some packages failed to install: hakyll-0.2 depends on pandoc-1.3 which failed to install. pandoc-1.3 failed during the building phase. The exception was: exit: ExitFailure 1 That went well. :-( "ghc-pkg check": C:\Users\Thomas>ghc-pkg check There are problems in package binary-0.5.0.2: import-dirs: C:\Users\Thomas\AppData\Roaming\cabal\binary-0.5.0.2\ghc-6.10.4 oesn't exist or isn't a directory library-dirs: C:\Users\Thomas\AppData\Roaming\cabal\binary-0.5.0.2\ghc-6.10.4 doesn't exist or isn't a directory file Data\Binary.hi is missing file Data\Binary\Put.hi is missing file Data\Binary\Get.hi is missing file Data\Binary\Builder.hi is missing cannot find libHSbinary-0.5.0.2.a on library path There are problems in package digest-0.0.0.8: import-dirs: C:\Users\Thomas\AppData\Roaming\cabal\digest-0.0.0.8\ghc-6.10.4 oesn't exist or isn't a directory library-dirs: C:\Users\Thomas\AppData\Roaming\cabal\digest-0.0.0.8\ghc-6.10.4 doesn't exist or isn't a directory file Data\Digest\CRC32.hi is missing file Data\Digest\Adler32.hi is missing cannot find libHSdigest-0.0.0.8.a on library path There are problems in package template-0.1.1.1: import-dirs: C:\Users\Thomas\AppData\Roaming\cabal\template-0.1.1.1\ghc-6.10. doesn't exist or isn't a directory library-dirs: C:\Users\Thomas\AppData\Roaming\cabal\template-0.1.1.1\ghc-6.10 4 doesn't exist or isn't a directory file Text\Template.hi is missing cannot find libHStemplate-0.1.1.1.a on library path There are problems in package utf8-string-0.3.6: import-dirs: C:\Users\Thomas\AppData\Roaming\cabal\utf8-string-0.3.6\ghc-6.10 4 doesn't exist or isn't a directory library-dirs: C:\Users\Thomas\AppData\Roaming\cabal\utf8-string-0.3.6\ghc-6.1 .4 doesn't exist or isn't a directory file Codec\Binary\UTF8\String.hi is missing file Codec\Binary\UTF8\Generic.hi is missing file System\IO\UTF8.hi is missing file System\Environment\UTF8.hi is missing file Data\String\UTF8.hi is missing file Data\ByteString\UTF8.hi is missing file Data\ByteString\Lazy\UTF8.hi is missing cannot find libHSutf8-string-0.3.6.a on library path There are problems in package zip-archive-0.1.1.4: import-dirs: C:\Users\Thomas\AppData\Roaming\cabal\zip-archive-0.1.1.4\ghc-6. 0.4 doesn't exist or isn't a directory library-dirs: C:\Users\Thomas\AppData\Roaming\cabal\zip-archive-0.1.1.4\ghc-6 10.4 doesn't exist or isn't a directory file Codec\Archive\Zip.hi is missing cannot find libHSzip-archive-0.1.1.4.a on library path There are problems in package haddock-2.4.2: import-dirs: c:/builds/slave/x86-win-stable/build/ghc-6.10.4\haddock-2.4.2 do sn't exist or isn't a directory library-dirs: c:/builds/slave/x86-win-stable/build/ghc-6.10.4\haddock-2.4.2 d esn't exist or isn't a directory file Distribution\Haddock.hi is missing file Haddock\DocName.hi is missing file Haddock\Types.hi is missing file Haddock\InterfaceFile.hi is missing file Haddock\Exception.hi is missing file Haddock\Utils.hi is missing file Haddock\GHC\Utils.hi is missing cannot find libHShaddock-2.4.2.a on library path The following packages are broken, either because they have a problem listed above, or because they depend on a broken package. binary-0.5.0.2 digest-0.0.0.8 template-0.1.1.1 utf8-string-0.3.6 zip-archive-0.1.1.4 haddock-2.4.2 Excuse me? Broken packages right after installation? Okay, reinstalling them all (with --user --reinstall"). Except haddock: C:\Users\Thomas>cabal install haddock --user --reinstall Resolving dependencies... cabal: cannot configure haddock-2.6.0. It requires ghc >=6.12 && <6.14 There is no available version of ghc that satisfies >=6.12 && <6.14 *sigh* I'm starting to think about the manual installation of ghci and the libs again... but I won't do it, because it gives me all other kinds of pain (like "let's ship the mingw tool chain, but don't enter it into the PATH, the user will certainly know where to find ar.exe and how to make cabal use it when building a package"). I'm failing there just as much as here with the Platform. Okay, let's forget about haddock. Back to hakyll: "cabal install hakyll --user" Ends with: Linking dist\build\markdown2pdf\markdown2pdf.exe ... Created man\man1\pandoc.1 Created man\man1\hsmarkdown.1 Created man\man1\html2markdown.1 Created man\man1\markdown2pdf.1 setup.exe: CreateDirectory: permission denied (Zugriff verweigert) cabal: Error: some packages failed to install: hakyll-0.2 depends on pandoc-1.3 which failed to install. pandoc-1.3 failed during the final install step. The exception was: exit: ExitFailure 1 Okay, remember that cabal-install was out of date? "cabal install cabal-install" ends with: Linking dist\build\cabal\cabal.exe ... cabal: Error: some packages failed to install: cabal-install-0.6.4 failed during the final install step. The exception was: CreateDirectory: permission denied (Zugriff verweigert) Would be nice to know which directory cabal-install tried to create, don't you think? (This was just thrown in to show why I've only user user installations so far). Okay, the same with "--user" succeeds. Yay! Let's try pandoc again: Linking dist\build\markdown2pdf\markdown2pdf.exe ... Created man\man1\pandoc.1 Created man\man1\hsmarkdown.1 Created man\man1\html2markdown.1 Created man\man1\markdown2pdf.1 setup.exe: CreateDirectory: permission denied (Zugriff verweigert) cabal: Error: some packages failed to install: pandoc-1.3 failed during the final install step. The exception was: exit: ExitFailure 1 *sigh* What is cabal trying to do outside the battle-proven AppData-Cabal directory anyways? Let's revisit the phrase "beginner-friendly first option". :-/ Just for fun's sake, let's have a look into cabal's config file, since I seem to have some directory trouble: install-dirs user -- prefix: C:\Users\Thomas\AppData\Roaming\cabal -- bindir: $prefix\bin -- libdir: $prefix -- libsubdir: $pkgid\$compiler -- libexecdir: $prefix\$pkgid -- datadir: "C:\\Program Files (x86)\\Haskell" -- datasubdir: $pkgid -- docdir: $prefix\doc\$pkgid -- htmldir: $docdir\html -- haddockdir: $htmldir install-dirs global -- prefix: "C:\\Program Files (x86)\\Haskell" -- bindir: $prefix\bin -- libdir: $prefix -- libsubdir: $pkgid\$compiler -- libexecdir: $prefix\$pkgid -- datadir: "C:\\Program Files (x86)\\Haskell" -- datasubdir: $pkgid -- docdir: $prefix\doc\$pkgid -- htmldir: $docdir\html -- haddockdir: $htmldir I certainly don't have a "C:\\Program Files (x86)\\Haskell" folder. Might that result in problems? I don't know, because I have no clue what's supposed to be in the datadir. But then again I shouldn't have to meddle with some installed configuration file, especially since there has been no warning that I had to do that and very especially since I entered my destination folder upon installation. Maybe it's okay, but it kind of makes me nervous. And God knows what else I haven't stumbled upon yet. (I changed those directory entries to the ghc installation directory when I tried the second option and couldn't make it work either.) Has anyone who is *not* a Haskell/ghc/cabal expert been able to install Haskell satisfactorily on Windows 7? What are my options now? Any stupid mistakes I made? Waiting for the next release of the Haskell Platform (whenever that might happen)? Giving up, selling RWH on ebay and preparing New Year's Eve celebrations? Thomas

On Sun, Dec 27, 2009 at 9:06 AM, Thomas Hühn
Has anyone who is *not* a Haskell/ghc/cabal expert been able to install Haskell satisfactorily on Windows 7?
It worked fine for me, but then I didn't try to do anything fancy. The data-dir and prefix you mention is where cabal installs all my packages, FWIW. Not being able to access them would be a problem! You can customize it with --data-dir and --prefix on the cabal install command line, I think. Not sure if that's the reason your initial installation wasn't working though... Also, if a library fails to build because of your ghc version, you can install a specific version of that library instead. E.g. for haddock you see that the failing version was 2.4.2 but if you leave out the version number cabal will fetch the latest one for you, which isn't compatible with GHC 6.10. -- Sebastian Sylvan

Sebastian Sylvan
Also, if a library fails to build because of your ghc version, you can install a specific version of that library instead. E.g. for haddock you see that the failing version was 2.4.2 but if you leave out the version number cabal will fetch the latest one for you, which isn't compatible with GHC 6.10.
Thanks, I wasn't aware that I could specify versions that easily, I assumed that I could only get the latest version. Thomas

Hi Thomas I suspect the problem you are having is specifically with Pandoc. Pandoc has a couple of dependencies on C libraries: network and zlib are two - they are part of the Haskell platform so they would be working in the first place (I have a mostly vanilla install of Haskell platform on Windows and whilst Haddock does appear to be broken via ghc-kpg check, the other libraries / tools are fine*). Pandoc also depends on the zip-archive library which then depends on the digest library. Digest seems to depend on C internals of the zlib library. Now, zlib package is part Haskell platform and it includes a binary library of (the C) zlib and the source headers, so it might be possible to build digest by itself but you might end up needing cygwin or MinGW / msys (I've built it just now under Cygwin). Trying to installing digest before Pandoc is one possibility - if it fails, at least it will show if further attempts to install Pandoc are going to be futile. [*] The broken packages you listed from ghc-pkg check appear to be caused by cabal chasing the extra dependencies for Pandoc but then failing part way through the whole installation. Some of them look like plain Haskell packages to me (utf-8string), rather than bindings to C libraries, so if they were installed individually I'd expect them to work. Best wishes Stephen

Hi
Stephen Tetley
I suspect the problem you are having is specifically with Pandoc. Pandoc has a couple of dependencies on C libraries: network and zlib are two - they are part of the Haskell platform so they would be
network gave me a hard time without the Haskell Platform as well.
Digest seems to depend on C internals of the zlib library. Now, zlib package is part Haskell platform and it includes a binary library of (the C) zlib and the source headers, so it might be possible to build digest by itself but you might end up needing cygwin or MinGW / msys (I've built it just now under Cygwin).
I feared that I'd need a complete GNU C toolchain.
Trying to installing digest before Pandoc is one possibility - if it fails, at least it will show if further attempts to install Pandoc are going to be futile.
digest has been installed successfully, as far as I can see. I'll probably try my luck with a MINGW installation in the next few days, hopefully it helps. Thomas

2009/12/27 Thomas Hühn
network gave me a hard time without the Haskell Platform as well.
Hi Thomas Network installed for me without a hitch via MinGW for 6.12.1 (via the old skool process of runhaskell Setup.hs ...). MinGW becomes all but essential once you start installing libraries that are bindings to C libraries - unfortunately it can be hard to tell if a library is a binding or depends on a binding. Also some Haskell libraries do use C but only rely on the standard C libraries - as GHC ships with a gcc executable from MinGW usually these libs will install transparently. Best wishes Stephen

Hi
Stephen Tetley
Network installed for me without a hitch via MinGW for 6.12.1 (via the old skool process of runhaskell Setup.hs ...). MinGW becomes all but essential once you start installing libraries that are bindings to C libraries - unfortunately it can be hard to tell if a library is a binding or depends on a binding. Also some Haskell libraries do use C but only rely on the standard C libraries - as GHC ships with a gcc executable from MinGW usually these libs will install transparently.
Okay, then I'll do that. I suppose the mingw that GHC ships is an abridged one, so that setting some environment variables does not suffice? Thanks Thomas

On Sun, 2009-12-27 at 10:06 +0100, Thomas Hühn wrote:
The following packages are broken, either because they have a problem listed above, or because they depend on a broken package. binary-0.5.0.2 digest-0.0.0.8 template-0.1.1.1 utf8-string-0.3.6 zip-archive-0.1.1.4 haddock-2.4.2
Excuse me? Broken packages right after installation?
Except for haddock, none of these packages come with the Haskell Platform. These are packages that you must have installed previously. So ghc-pkg check is quite right to report them.
Okay, reinstalling them all (with --user --reinstall").
Except haddock:
C:\Users\Thomas>cabal install haddock --user --reinstall Resolving dependencies... cabal: cannot configure haddock-2.6.0. It requires ghc >=6.12 && <6.14 There is no available version of ghc that satisfies >=6.12 && <6.14
Right, try installing the same version as you've got currently rather than the latest version. In an ideal world the cabal-install package dependency resolver would work out that the latest version cannot be installed (since it needs a later ghc) and fall back to the next version that can work. However at the moment it is not quite that smart. Use: cabal install haddock-2.4.2
"cabal install cabal-install" ends with:
Linking dist\build\cabal\cabal.exe ... cabal: Error: some packages failed to install: cabal-install-0.6.4 failed during the final install step. The exception was: CreateDirectory: permission denied (Zugriff verweigert)
Would be nice to know which directory cabal-install tried to create, don't you think?
(This was just thrown in to show why I've only user user installations so far).
Okay, the same with "--user" succeeds. Yay!
Right, global installs require admin permissions. Historically Windows users did have admin permissions so the Windows folks advised us that global should be the default. Obviously that's not such a good default on Windows Vista or Windows 7. I've been agitating to switch the default to per-user installations for a while now: http://hackage.haskell.org/trac/hackage/ticket/465 I've not got much feedback from the Windows Haskell hacker. In the development version of cabal-install I'm going to experimentally switch the default to per-user installs and see how that goes.
Just for fun's sake, let's have a look into cabal's config file, since I seem to have some directory trouble:
install-dirs global -- prefix: "C:\\Program Files (x86)\\Haskell" -- bindir: $prefix\bin -- libdir: $prefix -- libsubdir: $pkgid\$compiler -- libexecdir: $prefix\$pkgid -- datadir: "C:\\Program Files (x86)\\Haskell" -- datasubdir: $pkgid -- docdir: $prefix\doc\$pkgid -- htmldir: $docdir\html -- haddockdir: $htmldir
I certainly don't have a "C:\\Program Files (x86)\\Haskell" folder.
Might that result in problems?
No, but not having permissions to create it would. You can edit this config file. I suggest you change it to use per-user installs by default. Set "user-install: True" (and make sure you uncomment the line, the "--" prefix).
But then again I shouldn't have to meddle with some installed configuration file,
These defaults worked ok for Windows XP but they're clearly no good for Vista and Win7. Just change the default to per-user installs.
especially since there has been no warning that I had to do that and very especially since I entered my destination folder upon installation. Maybe it's okay, but it kind of makes me nervous. And God knows what else I haven't stumbled upon yet.
Where you install the Haskell Platform is independent of these settings. You would not want to install other packages into the same location as the platform and there's no particular reason to suppose that you would have the file permissions to do so.
Has anyone who is *not* a Haskell/ghc/cabal expert been able to install Haskell satisfactorily on Windows 7?
What are my options now? Any stupid mistakes I made?
No, it's reasonable to expect the defaults to work. Sadly they do not at the moment for Windows 7. Change it to use per-user installs by default and let us know how that goes. Duncan

Hi
Duncan Coutts
Except for haddock, none of these packages come with the Haskell Platform. These are packages that you must have installed previously. So ghc-pkg check is quite right to report them.
Okay, right.
Okay, reinstalling them all (with --user --reinstall").
Except haddock:
C:\Users\Thomas>cabal install haddock --user --reinstall Resolving dependencies... cabal: cannot configure haddock-2.6.0. It requires ghc >=6.12 && <6.14 There is no available version of ghc that satisfies >=6.12 && <6.14
Right, try installing the same version as you've got currently rather than the latest version.
In an ideal world the cabal-install package dependency resolver would work out that the latest version cannot be installed (since it needs a later ghc) and fall back to the next version that can work. However at the moment it is not quite that smart. Use:
cabal install haddock-2.4.2
"cabal install haddock-2.4.2 --user --reinstall" ends with: Linking dist\build\haddock\haddock.exe ... cabal: Error: some packages failed to install: haddock-2.4.2 failed during the final install step. The exception was: CreateDirectory: permission denied (Zugriff verweigert)
You can edit this config file. I suggest you change it to use per-user installs by default. Set "user-install: True" (and make sure you uncomment the line, the "--" prefix).
That doesn't work at all. As soon as I uncomment that line and set it to True, I get: cabal: C:\Users\Thomas\AppData\Roaming\cabal\packages user-install: True\hackage.haskell.org\00-index.tar: openBinaryFile: invalid arg ument (Invalid argument)
But then again I shouldn't have to meddle with some installed configuration file,
These defaults worked ok for Windows XP but they're clearly no good for Vista and Win7. Just change the default to per-user installs.
especially since there has been no warning that I had to do that and very especially since I entered my destination folder upon installation. Maybe it's okay, but it kind of makes me nervous. And God knows what else I haven't stumbled upon yet.
Where you install the Haskell Platform is independent of these settings. You would not want to install other packages into the same location as the platform and there's no particular reason to suppose that you would have the file permissions to do so.
Not in the Platform directory itself, but I'd like to group bigger chunks like "everything Haskell" in a common directory (with subdirectories "Platform", "Local-Cabal", "whatever"), just as I put TeX Live into its own directory, right under the root directory. Makes PATHs shorter, as well.
No, it's reasonable to expect the defaults to work. Sadly they do not at the moment for Windows 7. Change it to use per-user installs by default and let us know how that goes.
No luck with haddoch, so far, and hakyll (which sounded cool and I wanted to try out) doesn't work, either: Linking dist\build\markdown2pdf\markdown2pdf.exe ... Created man\man1\pandoc.1 Created man\man1\hsmarkdown.1 Created man\man1\html2markdown.1 Created man\man1\markdown2pdf.1 setup.exe: CreateDirectory: permission denied (Zugriff verweigert) cabal: Error: some packages failed to install: hakyll-0.2 depends on pandoc-1.3 which failed to install. pandoc-1.3 failed during the final install step. The exception was: exit: ExitFailure 1 As I said before, I don't have a clue, where cabal wants to install what. Some error messages beyond "failed" would have been nice. Like "creating directory XYZ failed". BTW, I just retried installing everything manually (GHC 6.12.1) and I almost got there, but the network package doesn't install. Probably because I don't have a full mingw installation, only what came with GHC. Lots of headers missing and other compilation problems. configure.sh probably didn't run, as well. Is there no way to get binary objects from hackage, for the C parts at least, so that GHC can just link the Haskell parts against it? Thomas

On 27/12/2009 19:26, Thomas Hühn wrote:
Hi
Duncan Coutts
writes: Except for haddock, none of these packages come with the Haskell Platform. These are packages that you must have installed previously. So ghc-pkg check is quite right to report them.
Okay, right.
Okay, reinstalling them all (with --user --reinstall").
Except haddock:
C:\Users\Thomas>cabal install haddock --user --reinstall Resolving dependencies... cabal: cannot configure haddock-2.6.0. It requires ghc>=6.12&& <6.14 There is no available version of ghc that satisfies>=6.12&& <6.14
Right, try installing the same version as you've got currently rather than the latest version.
In an ideal world the cabal-install package dependency resolver would work out that the latest version cannot be installed (since it needs a later ghc) and fall back to the next version that can work. However at the moment it is not quite that smart. Use:
cabal install haddock-2.4.2
"cabal install haddock-2.4.2 --user --reinstall" ends with: Linking dist\build\haddock\haddock.exe ... cabal: Error: some packages failed to install: haddock-2.4.2 failed during the final install step. The exception was: CreateDirectory: permission denied (Zugriff verweigert)
You can edit this config file. I suggest you change it to use per-user installs by default. Set "user-install: True" (and make sure you uncomment the line, the "--" prefix).
That doesn't work at all. As soon as I uncomment that line and set it to True, I get:
cabal: C:\Users\Thomas\AppData\Roaming\cabal\packages user-install: True\hackage.haskell.org\00-index.tar: openBinaryFile: invalid arg ument (Invalid argument)
The most likely cause is that your "user-install: True" line is indented. Indentation is significant in the config file because it indicates layout for nested sections: remove any leading spaces on that line and that should do the trick.
But then again I shouldn't have to meddle with some installed configuration file,
These defaults worked ok for Windows XP but they're clearly no good for Vista and Win7. Just change the default to per-user installs.
especially since there has been no warning that I had to do that and very especially since I entered my destination folder upon installation. Maybe it's okay, but it kind of makes me nervous. And God knows what else I haven't stumbled upon yet.
Where you install the Haskell Platform is independent of these settings. You would not want to install other packages into the same location as the platform and there's no particular reason to suppose that you would have the file permissions to do so.
Not in the Platform directory itself, but I'd like to group bigger chunks like "everything Haskell" in a common directory (with subdirectories "Platform", "Local-Cabal", "whatever"), just as I put TeX Live into its own directory, right under the root directory. Makes PATHs shorter, as well.
No, it's reasonable to expect the defaults to work. Sadly they do not at the moment for Windows 7. Change it to use per-user installs by default and let us know how that goes.
No luck with haddoch, so far, and hakyll (which sounded cool and I wanted to try out) doesn't work, either:
Linking dist\build\markdown2pdf\markdown2pdf.exe ... Created man\man1\pandoc.1 Created man\man1\hsmarkdown.1 Created man\man1\html2markdown.1 Created man\man1\markdown2pdf.1 setup.exe: CreateDirectory: permission denied (Zugriff verweigert) cabal: Error: some packages failed to install: hakyll-0.2 depends on pandoc-1.3 which failed to install. pandoc-1.3 failed during the final install step. The exception was: exit: ExitFailure 1
I suspect this might be caused by http://hackage.haskell.org/trac/hackage/ticket/466. Here's what I have in my cabal config instead of the default: install-dirs user -- prefix: C:\Users\Asztal\AppData\Roaming\cabal -- bindir: $prefix\bin -- libdir: $prefix -- libsubdir: $pkgid\$compiler -- libexecdir: $prefix\$pkgid -- datadir: "C:\\Program Files (x86)\\Haskell" datadir: $prefix\data -- datasubdir: $pkgid -- docdir: $prefix\doc\$pkgid -- htmldir: $docdir\html -- haddockdir: $htmldir Using these settings haddock-2.4.2 and hakyll install fine for me. If I revert $datadir to the default, I get the same as you.
As I said before, I don't have a clue, where cabal wants to install what. Some error messages beyond "failed" would have been nice. Like "creating directory XYZ failed".
BTW, I just retried installing everything manually (GHC 6.12.1) and I almost got there, but the network package doesn't install. Probably because I don't have a full mingw installation, only what came with GHC. Lots of headers missing and other compilation problems. configure.sh probably didn't run, as well.
Is there no way to get binary objects from hackage, for the C parts at least, so that GHC can just link the Haskell parts against it?
Alas, that would be nice :( It's probably best to wait for the next Haskell Platform instead of installing GHC 6.12 itself.

Lee Houghton
The most likely cause is that your "user-install: True" line is indented. Indentation is significant in the config file because it indicates layout for nested sections: remove any leading spaces on that line and that should do the trick.
Damn, I made sure to keep the indentation. That is, delete dashes, add spaces until aligned. :-)
It's probably best to wait for the next Haskell Platform instead of installing GHC 6.12 itself.
Do you have any idea when that will happen? Thomas

On 27/12/2009 17:42, Duncan Coutts wrote:
Okay, the same with "--user" succeeds. Yay!
Right, global installs require admin permissions.
Historically Windows users did have admin permissions so the Windows folks advised us that global should be the default. Obviously that's not such a good default on Windows Vista or Windows 7. I've been agitating to switch the default to per-user installations for a while now:
http://hackage.haskell.org/trac/hackage/ticket/465
I've not got much feedback from the Windows Haskell hacker. In the development version of cabal-install I'm going to experimentally switch the default to per-user installs and see how that goes.
Speaking as a Windows 7-using Haskeller, I'd be very glad if user install were to become the default. (And even on Windows XP, it is still recommended not to write to Program Files during normal usage.) I agree with the assessment in http://hackage.haskell.org/trac/hackage/ticket/465#comment:2 too. Don't forget http://hackage.haskell.org/trac/hackage/ticket/466. This can also cause failing in the default setup, even with --user installs. Presumably this would be addressed by switching to the same thing cabal does on other platforms, which is to use "$prefix/share" or similar.

Hi A little progress report: Installing packages as administrator works fine. But now I have changed cabal's config file, so that prefix and datadir point to a user-writable directory, and that works as well. So for starting out, I guess I'm happy with my installation so far (although I haven't *used* those libraries yet, so I don't know, whether they are found in the new location -- what might I have to do there, if anything?) Thomas
participants (5)
-
Duncan Coutts
-
Lee Houghton
-
Sebastian Sylvan
-
Stephen Tetley
-
Thomas Hühn