ghc-mod は Haskell ソース ファイルだけのディレクトリで動作しますが、そのディレクトリ (/tmp/test) で "cabal init" を実行すると、次のエラーが発生します。
(p1)dave@peach:/tmp/test$ !ghc
ghc-mod check Main.hs
ghc-mod: /tmp/test/dist/setup-config: hGetContents: invalid argument (invalid byte sequence)
ここで何がうまくいかないのですか?
64ビットのubuntu 14.04コンピューターでghc-mod 5.2.11とcabal 1.21.1.0を実行しています。LANG 環境変数は en_US.UTF-8 に設定されています (ここで LANG 設定が重要である可能性を示唆する他の質問への回答を見ました)。cabal バージョン 1.16.0 を実行してみましたが、違いはありませんでした。
詳細を示すトランスクリプトを次に示します。
(p1)dave@peach:/tmp/test$ ls -la
total 80
drwxrwxr-x 2 dave dave 4096 Dec 4 07:07 .
drwxrwxrwt 35 root root 69632 Dec 4 07:06 ..
-rw-rw-r-- 1 dave dave 143 Dec 4 07:04 Main.hs
(p1)dave@peach:/tmp/test$ set | grep LANG
GDM_LANG=en_US
LANG=en_US.UTF-8
LANGUAGE=en_US
(p1)dave@peach:/tmp/test$ ghc-mod version
ghc-mod version 5.2.1.1 compiled by GHC 7.6.3
(p1)dave@peach:/tmp/test$ cabal -V
cabal-install version 1.21.1.0
using version 1.21.1.0 of the Cabal library
(p1)dave@peach:/tmp/test$ ghc-mod check Main.hs
Main.hs:7:1:Warning: Top-level binding with no type signature: haqify :: [Char] -> [Char]
(p1)dave@peach:/tmp/test$ cabal init
Package name? [default: test]
Package version? [default: 0.1.0.0]
Please choose a license:
* 1) (none)
2) GPL-2
3) GPL-3
4) LGPL-2.1
5) LGPL-3
6) AGPL-3
7) BSD2
8) BSD3
9) MIT
10) ISC
11) MPL-2.0
12) Apache-2.0
13) PublicDomain
14) AllRightsReserved
15) Other (specify)
Your choice? [default: (none)] 2
Author name? [default: XXXXXXXXXXXX]
Maintainer email? [default: XXXXXXXXXXXXXXXXXXXXXX]
Project homepage URL?
Project synopsis?
Project category:
* 1) (none)
2) Codec
3) Concurrency
4) Control
5) Data
6) Database
7) Development
8) Distribution
9) Game
10) Graphics
11) Language
12) Math
13) Network
14) Sound
15) System
16) Testing
17) Text
18) Web
19) Other (specify)
Your choice? [default: (none)]
What does the package build:
1) Library
2) Executable
Your choice? 2
What is the main module of the executable:
* 1) Main.hs
2) Other (specify)
Your choice? [default: Main.hs]
What base language is the package written in:
* 1) Haskell2010
2) Haskell98
3) Other (specify)
Your choice? [default: Haskell2010]
Include documentation on what each field means (y/n)? [default: n]
Source directory:
* 1) (none)
2) src
3) Other (specify)
Your choice? [default: (none)]
Guessing dependencies...
Generating LICENSE...
Generating Setup.hs...
Generating test.cabal...
Warning: no synopsis given. You should edit the .cabal file and add one.
You may want to edit the .cabal file and add a Description field.
(p1)dave@peach:/tmp/test$ !ghc
ghc-mod check Main.hs
ghc-mod: /tmp/test/dist/setup-config: hGetContents: invalid argument (invalid byte sequence)
(p1)dave@peach:/tmp/test$