14

構成を変更するために xmonad を再コンパイルしたいときにこれを取得します。

Implicit import declaration:
    Ambiguous module name `Prelude':
      it was found in multiple packages: base haskell98-2.0.0.0

Xmonad は pacman 経由でインストールされました。このエラーが発生したとき、xmonad を pacman から削除してから、xmonad をインストールしようとしました。上記のエラーが再び発生しましたが、cabal ファイルから haskell98 を削除することで解決できました。

MOD-Q を使用して xmonad を再構成したいのですが、エラーが再発し、これを修正する方法がわかりません。どんな助けでも感謝します。

GHC バージョン 7.0.3 を使用しています (Haskell プラットフォームから)

4

3 に答える 3

15

これを試して:

ghc-pkg hide haskell98
于 2011-09-07T20:16:32.033 に答える
2

私の場合、残念ながら haskell98 を非表示にするだけでは不十分でした。廃止された haskell98 を .cabal ビルド ファイルのビルド依存リストから削除する必要がありました (もちろんベース >= 4 を維持します)。それは前に読んだ:

build-depends:  
    base >= 4,
    haskell98

... その後 ...

build-depends:  
    base >= 4

これで、上記の「あいまいなモジュール名 `Prelude'」というエラー メッセージが消えました。

于 2012-07-14T20:50:30.273 に答える
1

同じテーマでこのGHCバグチケットを参照してください。

haskell98 バージョン7.2.1以降のGHCは、パッケージとbaseパッケージの同時使用をサポートしません。haskell-srcパッケージにはこれらの両方が含まれbuild-dependsているため、変更する必要があります。ほとんどの場合、あなたがしたいことは、から削除haskell98build-depends、Haskell98モジュールのインポートを修正してそれらの基本的な同等物を指すようにすることです。

バグチケットは(修正なしで)クローズされ、元のファイラーは次のように応答しました。

はい、.cabalファイルからhaskell98を削除すると、修正されたようです。エラーなしでコンパイルされました。.cabalファイルのコメントによると、haskell98へのインポートはなかったようです。

于 2012-08-24T11:57:35.053 に答える