13170


## 実行したコマンド

`$ git clone http://github.com/aiya000/ahs-diary.git`  
`$ cd ahs-diary.git`  
`$ git checkout -b tmp origin/tmp`  
`$ stack build`

以上でリンカ(ld)がMain.oに対してのエラーを吐きます。

環境は  
Ubuntu 15.04  
stack 0.1.2.0  
です。

拙い質問で申し訳ないのですが、Haskellに触れられず大変辛いものがあります。  
どなたか助けてください…。

下記にエラーをそのまま記します。

```  
ahs-diary-0.1.0.0: build  
Building ahs-diary-0.1.0.0...  
Preprocessing library ahs-diary-0.1.0.0...  
In-place registering ahs-diary-0.1.0.0...  
Preprocessing executable 'ahs-diary-exe' for ahs-diary-0.1.0.0...  
Linking .stack-work/dist/x86_64-linux/Cabal-1.18.1.5/build/ahs-diary-exe/ahs-
diary-exe ...  
.stack-work/dist/x86_64-linux/Cabal-1.18.1.5/build/ahs-diary-exe/ahs-diary-
exe-tmp/Main.o: 関数 `c7kI_info' 内:  
(.text+0x54db):`ahszmdiaryzm0zi1zi0zi0_DiaryziNew_newDiary2_closure'
に対する定義されていない参照です  
.stack-work/dist/x86_64-linux/Cabal-1.18.1.5/build/ahs-diary-exe/ahs-diary-
exe-tmp/Main.o: 関数 `c6tH_info' 内:  
(.text+0x6f):`ahszmdiaryzm0zi1zi0zi0_DiaryziNew_newDiary1_info'
に対する定義されていない参照です  
.stack-work/dist/x86_64-linux/Cabal-1.18.1.5/build/ahs-diary-exe/ahs-diary-
exe-tmp/Main.o: 関数 `c7kI_info' 内:  
(.text+0x54e4):`ahszmdiaryzm0zi1zi0zi0_SystemziDiaryziIO_prompt1_info'
に対する定義されていない参照です  
.stack-work/dist/x86_64-linux/Cabal-1.18.1.5/build/ahs-diary-exe/ahs-diary-
exe-tmp/Main.o: 関数 `c7kI_info' 内:  
(.text+0x54fb):`ahszmdiaryzm0zi1zi0zi0_DiaryziNew_newDiary1_info'
に対する定義されていない参照です  
.stack-work/dist/x86_64-linux/Cabal-1.18.1.5/build/ahs-diary-exe/ahs-diary-
exe-tmp/Main.o: 関数 `S6u7_srt' 内:  
(.data+0xa10):`ahszmdiaryzm0zi1zi0zi0_DiaryziNew_newDiary1_closure'
に対する定義されていない参照です  
.stack-work/dist/x86_64-linux/Cabal-1.18.1.5/build/ahs-diary-exe/ahs-diary-
exe-tmp/Main.o: 関数 `S6u7_srt' 内:  
(.data+0xc88):`ahszmdiaryzm0zi1zi0zi0_DiaryziNew_newDiary2_closure'
に対する定義されていない参照です  
.stack-work/dist/x86_64-linux/Cabal-1.18.1.5/build/ahs-diary-exe/ahs-diary-
exe-tmp/Main.o: 関数 `S6u7_srt' 内:  
(.data+0xc90):`ahszmdiaryzm0zi1zi0zi0_SystemziDiaryziIO_prompt1_closure'
に対する定義されていない参照です  
.stack-work/dist/x86_64-linux/Cabal-1.18.1.5/build/ahs-diary-exe/ahs-diary-
exe-tmp/Main.o: 関数 `S6u7_srt' 内:  
(.data+0xca0):`ahszmdiaryzm0zi1zi0zi0_DiaryziNew_newDiary1_closure'
に対する定義されていない参照です  
collect2: error: ld returned 1 exit status

\-- While building package ahs-diary-0.1.0.0 using:  
/home/aiya000/.stack/programs/x86_64-linux/ghc-7.8.4/bin/runhaskell
-package=Cabal-1.18.1.5 -clear-package-db -global-package-db -package-  
db=/home/aiya000/.stack/snapshots/x86_64-linux/lts-2.19/7.8.4/pkgdb/
/tmp/stack6990/Setup.hs --builddir=.stack-work/dist/x86_64-linux/Cabal-1.18  
.1.5/ build  
Process exited with code: ExitFailure 1  
```


CC BY-SA 3.0
2015-08-08T05:06:34.747
13158
2015-08-08T10:47:45.280
9945
question
haskell
このHaskellプロジェクト(自作)をビルドしようとするとリンカがエラー吐きます


cabal ファイルの `exposed-modules` に、外部から参照される関数が含まれるモジュールを全て列挙する必要がある様です。

**ahs-diary/ahs-diary.cabal**

[code]

    library
      hs-source-dirs:   src
      exposed-modules:  Diary.Edit, Diary.New, System.Diary.IO, Lib
    
[/code]

以下、`Ubuntu 15.04/GHC 7.8.4/cabal-install 1.22.6.0/stack 0.1.2.0`
での実行結果(の抜粋)です。

[code]

    $ stack build
    ahs-diary-0.1.0.0: configure
              :
    Linking .stack-work/dist/i386-linux/Cabal-1.18.1.5/build/ahs-diary-exe/ahs-diary-exe ...
    ahs-diary-0.1.0.0: install
                :
    Installing executable(s) in ...
    Registering ahs-diary-0.1.0.0...
    
[/code]


CC BY-SA 3.0
2015-08-08T10:47:45.280
13170
2015-08-08T10:47:45.280
13158
answer