1

Homebrew 経由でインストールされた Haskell Platform 2011.2.0.1 を使用しています。関連する依存関係がすべて定義された、cabalized プロジェクトをセットアップしました。実行可能ファイルは、渡された引数を出力するだけです。プログラムは正しくコンパイルおよびリンクされますが、プログラムが...

Main.hs:

  main = do
    args <- getArgs
    putStrLn "Here are your arguments!:"
    forM_ args putStrLn

...が実行され、私は...

痕跡:

$ cabal configure
Resolving dependencies...
Configuring foo-0.1...

$ cabal build
Preprocessing executables for foo-0.1...
Preprocessing test suites for foo-0.1...
Building foo-0.1...

$ dist/build/foobar/foobar some arguments
foobar: mkTextEncoding: failed (Unknown error: 0)
FAIL: 1

私の PATH 変数の関連部分は次のとおりです。/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/texbin:/usr/X11/bin

これは に関連する問題だと思いlibiconvます。何か案は?ありがとう!

4

1 に答える 1

1

ダニエルとジョンの意見のおかげで、私は自分の問題の解決策を見つけました。

私の場合、ライブラリfoobar: mkTextEncoding: failed (Unknown error: 0) FAIL: 1への危険なリンクが原因でした。gd

この問題は、バイナリで使用されているライブラリを調べることで確認できます。

$ otool dist/build/foobar/foobar -L
foobar:
    /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
    libgd.dylib (compatibility version 0.0.0, current version 0.0.0)
    /usr/local/lib/libpng12.0.dylib (compatibility version 47.0.0, current version 47.0.0)
    /usr/local/lib/libjpeg.8.dylib (compatibility version 12.0.0, current version 12.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)
    /usr/local/lib/libfontconfig.1.dylib (compatibility version 6.0.0, current version 6.4.0)
    /usr/local/lib/libfreetype.6.dylib (compatibility version 15.0.0, current version 15.0.0)
    /usr/lib/libexpat.1.dylib (compatibility version 7.0.0, current version 7.2.0)
    /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)

もちろん、奇妙な行は犯人を示しています。

    libgd.dylib (compatibility version 0.0.0, current version 0.0.0)

バージョンと場所が奇妙に見えます。への依存関係を削除するとgd、プログラムが再び機能するようになりました。libgdただし、 Mac で作業することはできませんでした。その問題は、この質問の範囲外です。

于 2011-12-03T00:49:58.113 に答える