6

そのため、プラグイン パッケージを使用して、ソース ファイルから haskell 関数を動的にロードしようとしています。fooソース ファイルは、 moduleを含むパッケージに依存しますFoo.Bar。インストールしたCabalサンドボックスでプロジェクトを実行していfooます。私のメイン プログラムと、プラグインでロードしているモジュールの両方が に依存していfooます。次の 2 つのエラーのいずれかが常に表示されます。

fooインストールすると~/.cabal、次のエラーが表示されます。

GHCi runtime linker: fatal error: I found a duplicate definition for symbol
  aizmvszmaizmlibzm0zi1_FooziBar_zdfTypeableBazzuds2_closure
whilst processing object file
  /home/joey/.cabal/lib/foo-0.1/ghc-7.6.3/HSfoo-0.1.o
This could be caused by:
  * Loading two different object files which export the same symbol
  * Specifying the same object file twice on the GHCi command line
  * An incorrect `package.conf' entry, causing some object to be
    loaded twice.
GHCi cannot safely continue in this situation.  Exiting now.  Sorry.

にインストールしていない場合~/.cabal、標準の「モジュールが見つかりません」というエラーが表示されます。また、サンドボックスにインストールしていない場合、メイン プログラム コードをコンパイルしようとすると、同じモジュールが見つからないというエラーが発生します。

プラグインのドキュメントはせいぜい不足しています。これを解決する方法について何か考えはありますか?

4

1 に答える 1