Cabal Libraryを構築しようとするときにGHCビルドエラー
質問
私は自分のシステムにCABALを構築/インストールしようとしていますが、次の依存関係エラーに遭遇しています。
SDGL0990Z464C:Cabal-1.8.0.4 cflynn$ ghc --make Setup
SDGL0990Z464C:Cabal-1.8.0.4 cflynn$ ./Setup configure
Configuring Cabal-1.8.0.4...
Setup: At least the following dependencies are missing:
base >=4 && <3 && >=1 && <5, filepath >=1 && <1.2
GHC 6.6.1を知っている限り、GHC 7.0.1がインストールされており、後で「Filepath」パッケージが付属していますか?そして、私は「ベース」が何を参照しているのか正確には不明ですか?
解決
GHCは、すでにインストールされている特定のライブラリセットを備えた出荷されます。上記のビルドコマンドを実行すると、CABALはGHCで出荷するライブラリの古いバージョンのいくつかのバージョンを「再インストール」したいと考えています。これは明らかな理由で悪いです。
あなたが本当にこれを行う必要がある場合、それは使用するために働くかもしれません cabal-dev
それ以外の Cabal
. 。ちなみに、使用 Setup.hs
のバージョンを呼び出します Cabal
コンパイラと一緒に出荷されたライブラリ、 cabal
コマンドはを呼び出します cabal-install
プログラム。
cabal-dev
ラッパーです cabal-install
(したがって Cabal
サンドボックス化されたビルドを提供するライブラリ)。 GHCを使用して出荷するライブラリのさまざまなバージョンが必要なプログラムを安全にインストールしてください。残りの質問は、これらの古いライブラリが新しいGHCに対して構築されるかどうかです。多くの場合、ビルドは失敗します。
使用することを強くお勧めします cabal-dev
ではなく、日々のパッケージの構築用 cabal-install
. 。サンドボクシングの利点は多数あり、のリスクを強く上回っています cabal-install
既にインストールしているもののために、依存関係チェーンの中央のどこかにパッケージをアップグレードすることにより、パッケージデータベースを破壊します。
使用の詳細については cabal-dev
, 、これをお勧めします Reddit Post.
base
GHCインストールごとに出荷される機能の多くを提供するHaskellモジュールのセットです。これは、ほとんどのHaskellユーザーが望む、必要とする便利なライブラリのコレクションです。