Haskell ghc compiling/linking error, not creating executable. (linux)
compilation, ghc, haskell, linker, linux
Solution
Have you `binutils-gold` installed? If yes, this is the problem (since the gold linker does not support `--hash-size` AFAIK).
Possible solutions:
- remove gold
- your `ld` probably links to `ld.gold`, so change the symlink to `ld.ld`
- tell the haskell compiler explicitly which linker to use with the `-pgml` option: `ghc -pgml ld.ld tupel.hs`
- install `ghc` from source, since the configure script of `ghc` will then build `ghc` so that it won't use `--hash-size`
- Depending on your version of `ghc`, you can adjust the linker settings in `ghc`'s setting file `/usr/lib/ghc-your.ghc.version/settings`
Problem
I wrote a basic hello world program in haskel and tried to compile it with: ghc filename.hs. It produces .hi and .o files but no executable and displays this error in the linker: marox@IT-marox:~/Marox$ ghc tupel.hs Linking tupel ... /usr/bin/ld: --hash-size=31: unknown option /usr/bin/ld: use the --help option for usage information collect2: ld returned 1 exit status Googling didn't return any useful information. I am on ubuntu 12.04. How can I fix this?