そのため、プラグイン パッケージを使用して、ソース ファイルから 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
、標準の「モジュールが見つかりません」というエラーが表示されます。また、サンドボックスにインストールしていない場合、メイン プログラム コードをコンパイルしようとすると、同じモジュールが見つからないというエラーが発生します。
プラグインのドキュメントはせいぜい不足しています。これを解決する方法について何か考えはありますか?