2016-07-25 13 views
0

新しいHaskellバージョンをインストールしました。HaskellPlatform-8.0.1-minimal-x86_64-setup-a、 パッケージネットワークが必要なMissingHパッケージが必要です。 は、しかし、秘密結社は、ネットワークの収量をインストールします。失敗したキャバルインストールWindowsでMissingHとネットワーク

$ cabal install network 
Resolving dependencies... 
cabal: Entering directory 'C:\cygwin64\tmp\cabal-tmp-6136\network-2.6.2.1' 
Configuring network-2.6.2.1... 
configure: WARNING: unrecognized options: --with-compiler 
checking build system type... x86_64-unknown-cygwin 
checking host system type... x86_64-unknown-cygwin 
checking for gcc... C:\PROGRA~1\HASKEL~1\802E01~1.1\mingw\bin\gcc.exe 
checking whether the C compiler works... no 
configure: error: in `/tmp/cabal-tmp-6136/network-2.6.2.1': 
configure: error: C compiler cannot create executables 
See `config.log' for more details 
cabal: Leaving directory 'C:\cygwin64\tmp\cabal-tmp-6136\network-2.6.2.1' 
Failed to install network-2.6.2.1 
cabal.exe: Error: some packages failed to install: 
network-2.6.2.1 failed during the configure step. The exception was: 
ExitFailure 77 

まず、私は管理者としてCygwinのコマンドウィンドウを開始しようとしましたが、それは問題を解決しませんでした。スタック利回りの成功を使用してインストールしている間 はその後、私は、stack cannot build network - where's config.log?

を追った私はビルドをスタック、スタックのセットアップ後にスタックのセットアップ

$ stack build 
Compiler version mismatched, found ghc-8.0.1 (x86_64), but expected minor version match with ghc-7.10.3 (x86_64) (based on resolver setting in C:\tmp\network-2.6.2.1\stack.yaml). 
Try running "stack setup" to install the correct GHC into C:\Users\<username>\AppData\Local\Programs\stack\x86_64-windows\ 

を実行する必要が は、私が取得:

$ stack test 
network-2.6.2.1: test (suite: regression) 

testGetAddrInfo: [OK] 

     Test Cases Total 
Passed 1   1 
Failed 0   0 
Total 1   1 

network-2.6.2.1: test (suite: simple) 

Basic socket operations: 
    testSend: [OK] 
    testSendAll: [OK] 
    testSendTo: [OK] 
    testSendAllTo: [OK] 
    testSendMany: [OK] 
    testSendManyTo: [OK] 
    testRecv: [OK] 
    testOverFlowRecv: [OK] 
    testRecvFrom: [OK] 
    testOverFlowRecvFrom: [OK] 
    testUserTimeout: [OK] 

     Test Cases Total 
Passed 11   11 
Failed 0   0 
Total 11   11 

しかし、まだ私はMissingHを続けることができません。実際には、まだネットワークをインストールしようとしています!私も試してみました

$ cabal install MissingH 
Resolving dependencies... 
cabal: Entering directory 'C:\cygwin64\tmp\cabal-tmp-5596\network-2.6.2.1' 
Configuring network-2.6.2.1... 
configure: WARNING: unrecognized options: --with-compiler 
checking build system type... x86_64-unknown-cygwin 
checking host system type... x86_64-unknown-cygwin 
checking for gcc... C:\PROGRA~1\HASKEL~1\802E01~1.1\mingw\bin\gcc.exe 
checking whether the C compiler works... no 
configure: error: in `/tmp/cabal-tmp-5596/network-2.6.2.1': 
configure: error: C compiler cannot create executables 
See `config.log' for more details 
cabal: Leaving directory 'C:\cygwin64\tmp\cabal-tmp-5596\network-2.6.2.1' 
Failed to install network-2.6.2.1 

:(とない新しい8.0.1バージョンで)GHC 6.12.3および7.0.1でテストされたhttp://neilmitchell.blogspot.nl/2010/12/installing-haskell-network-library-on.html。 残念ながら、私はエラーを取得する:

getEnv: invalid argument (The operation completed successfully.) 

だけで完全なものにするため、私の徒党バージョン:

$ cabal -V 
cabal-install version 1.24.0.0 
compiled using version 1.24.0.0 of the Cabal library 

私はネットワークとMissingHをインストールしないのですか?

+0

スタックは、〜/ .stack/snapshots/...にコンポーネントをインストールします。これはカバールが何かを探す場所ではありません。おそらく、作業のために.cabalファイルを作成し、スタックを使用して構築する方が良いでしょう。チュートリアルはこちら[こちら](https://github.com/commercialhaskell/stack/blob/master/doc/GUIDE.md#hello-world-example) – ErikR

答えて

0

スタックはnoteably、セットアップに関するいくつかの仮定を行います

  • ...それはそれは、システム上の唯一の管理GHCのことを...システム
  • 上の唯一の管理パッケージだと
  • それはすべてのプロジェクトは、あなたではなく、すべての最新バージョンよりも安定性と予測可能性を持っているだろうと...
  • をサンドボックス化されていることを...システム
  • に徒党を管理するだけだと
  • ...物事

「普通の」ツールと一緒にスタックを使用すると、別のプロジェクトでしか使用できない場合があります。本当に注意してください。異なるバージョンのcabal-installのようなものは、まだそれをトリップすることができます。同時に、独自のデータを分離しておくので、スタックを介して何かをインストールすることはカバールには見えません。したがって、あなたは2つの選択肢があります:あなたのプロジェクトを完全に積み重ねるか完全に捨てるか。

これを使用する場合は、.cabalファイルにMissingHを追加して再構築してください。すべてうまくいくはずです。エラーがポップアップした場合、最も簡単な解決策は、ローカルのキャバレー・リポジトリをパージして再試行することです。それでも問題が解決しない場合は、プラットフォーム全体をパージしてスタック全体を再インストールしてから、やり直してください。スタックはピカピカの歌姫ですが、ステージに入ると彼女はそれを実行します。ヒント:キャバルインターフェイスが好きだがスタックを使用することを選択した場合は、常にstack exec -- cabal install MissingHのようなものを実行できます。

スタックを完全に取り除くこともできます。それをアンインストールして、キャバルを単独で、おそらくはサンドボックスで使用します。それでも、オリジナルの問題が残っています。これは、別にインストールしなければならないネイティブライブラリがないように見えます。私はこの特定のケースにどれがあるのか​​分かりませんが、私はあなたにいくつかのヒントを与えることができます。それに関するドキュメントが見つからない場合は、スタックファイルを調べるだけです。 (彼らは成功しました)しかし、最も簡単な選択肢は、cygwinがどのネットワーキングライブラリをインストールしているのか見て、それらの-devバージョンをインストールするだけです。彼らはほとんど常に正しいものです。

0

問題は、Cコンパイラがインストールされていないか、それはあまりにも古いですどちらのこの

configure: error: in `/tmp/cabal-tmp-6136/network-2.6.2.1':

configure: error: C compiler cannot create executables

のようです。 実際にCygwinをサポートしていないので、msys2をインストールしてみてください。

pacman -S mingw-w64-$(uname -m)-gccも同様にCコンパイラをインストールする必要があります。 ./configureスクリプトはGHCのinplace GCCを検出できません。私はしばらくのうちにプラットフォームを使用していないので、わかりません。

関連する問題