したがって、プラグインパッケージを使用して、ソースファイルからhaskell関数を動的にロードしようとしています。ソースファイルは、パッケージfoo
とモジュールFoo.Bar
によって異なります。私はfoo
がインストールされているCabalサンドボックスでプロジェクトを実行しています。私のメインプログラムと、プラグインをロードしているモジュールの両方は、foo
に依存しています。私はいつも次の二つのいずれかのエラーを取得:私は~/.cabal
でfoo
をインストールしている場合はHaskellのプラグインとCabalサンドボックス
を、私はエラーを取得する:私はそれが~/.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.
は、私が「標準を取得しますモジュールが見つかりません "エラー。私のサンドボックスにインストールされていないときは、メインプログラムのコードをコンパイルしようとしたときに、同じモジュールにエラーが見つかりません。
プラグインのドキュメントは、まれにしかありません。どのようにこれを解決するための任意の考えですか?
最小限のコンパイルを行った場合に役立ちます。 –
明日これをやるよ。それは現在かなり大きなイエロープロジェクトの中にあります。私は最小限の部分を抽出する必要があります。 – jmite
私は、最小限の例を考え出すのに問題があります。何か案は? – jmite