2017-11-26 28 views
0

私はGHC 8.0.2をHaskellスタックにインストールしています。私はプロジェクトに一定数のパッケージを必要としています。Haskell Stackがeasyrenderをインストールできません

カバルが問題であると思われますので
easyrender-0.1.1.2: configure 

-- While building package easyrender-0.1.1.2 using: 
    /home/nathan/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc --make -odir /tmp/stack5987/easyrender-0.1.1.2/.stack-work/dist/x86_64-linux/Cabal-1.24.2.0/setup -hidir /tmp/stack5987/easyrender-0.1.1.2/.stack-work/dist/x86_64-linux/Cabal-1.24.2.0/setup -i -i. -clear-package-db -global-package-db -package-db=/home/nathan/.stack/snapshots/x86_64-linux/ghc-8.0.2/8.0.2/pkgdb -package-db=/home/nathan/.stack/global-project/.stack-work/install/x86_64-linux/ghc-8.0.2/8.0.2/pkgdb -hide-all-packages -package-id=base-4.9.1.0 -package-id=superdoc-0.1.2.5-9gGVGYAJpHrGct376cUN41 -optP-include -optP/tmp/stack5987/easyrender-0.1.1.2/.stack-work/dist/x86_64-linux/Cabal-1.24.2.0/setup/setup_macros.h /tmp/stack5987/easyrender-0.1.1.2/Setup.hs /home/nathan/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs -main-is StackSetupShim.mainOverride -o /tmp/stack5987/easyrender-0.1.1.2/.stack-work/dist/x86_64-linux/Cabal-1.24.2.0/setup/setup -threaded 
Process exited with code: ExitFailure 1 
Logs have been written to: /home/nathan/.stack/global-project/.stack-work/logs/easyrender-0.1.1.2.log 

[1 of 2] Compiling Main    (/tmp/stack5987/easyrender-0.1.1.2/Setup.hs, /tmp/stack5987/easyrender-0.1.1.2/.stack-work/dist/x86_64-linux/Cabal-1.24.2.0/setup/Main.o) 
[2 of 2] Compiling StackSetupShim (/home/nathan/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs, /tmp/stack5987/easyrender-0.1.1.2/.stack-work/dist/x86_64-linux/Cabal-1.24.2.0/setup/StackSetupShim.o) 

/home/nathan/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs:3:1: error: 
    Failed to load interface for ‘Distribution.PackageDescription’ 
    It is a member of the hidden package ‘Cabal-2.0.1.0’. 
    It is a member of the hidden package ‘Cabal-1.24.2.0’. 
    Use -v to see a list of the files searched for. 

/home/nathan/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs:4:1: error: 
    Failed to load interface for ‘Distribution.Simple’ 
    It is a member of the hidden package ‘Cabal-2.0.1.0’. 
    It is a member of the hidden package ‘Cabal-1.24.2.0’. 
    Use -v to see a list of the files searched for. 

/home/nathan/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs:5:1: error: 
    Failed to load interface for ‘Distribution.Simple.Build’ 
    It is a member of the hidden package ‘Cabal-2.0.1.0’. 
    It is a member of the hidden package ‘Cabal-1.24.2.0’. 
    Use -v to see a list of the files searched for. 

/home/nathan/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs:6:1: error: 
    Failed to load interface for ‘Distribution.Simple.Setup’ 
    It is a member of the hidden package ‘Cabal-2.0.1.0’. 
    It is a member of the hidden package ‘Cabal-1.24.2.0’. 
    Use -v to see a list of the files searched for. 

/home/nathan/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs:7:1: error: 
    Failed to load interface for ‘Distribution.Simple.LocalBuildInfo’ 
    It is a member of the hidden package ‘Cabal-2.0.1.0’. 
    It is a member of the hidden package ‘Cabal-1.24.2.0’. 
    Use -v to see a list of the files searched for. 

、私が試した:私は次の出力を得る

stack install easyrender 

は、私はそれが他のすべてのパッケージのインストールのために働く、次のコマンドを使用してインストールstack install Cabalを実行していますが、それは何もしません。参照されるログファイルは、出力と同じことを示します。

アイデア? 徒党インストールとネイサン

+0

"カバルが問題になっているようです"問題は実際には必要なモジュールが "隠しパッケージのメンバー..."なのでパッケージを隠さないでください - 明示的にそれをeasyrenderの依存関係としてリストしてください。 –

答えて

2

ありません、このような問題:

% cabal install easyrender 
Resolving dependencies... 
Downloading superdoc-0.1.2.5... 
Configuring superdoc-0.1.2.5... 
Building superdoc-0.1.2.5... 
Installed superdoc-0.1.2.5 
Downloading easyrender-0.1.1.2... 
Configuring easyrender-0.1.1.2... 
Building easyrender-0.1.1.2... 
Installed easyrender-0.1.1.2 

だから私はこれを推測しているが、非簡単な別の方法で構築するスタック処理の問題です。つまり、Cabalインストールは、Cabalがsetup.hsの依存関係であると仮定しているようですが、スタックはそうではありません。

チェックするだけで、同じ問題が発生する可能性がありますが、easyrender.cabalsetup-depends:行にCabalを追加すると問題なく動作します。

+0

'' setup-depends'に 'Cabal'を追加できるように' easyrender.cabal'がどこにありますか? –

+0

よくcabal-installを使うと 'cabal unpack easyrender; cd easyrender *; vi easyrender.cabal'です。 Stackにはおそらく同様の解凍能力があります。また、パッケージをレポからダウンロードすることもできます。 –

+0

あなたが言及した行に 'Cabal == 2. *'を追加しましたが、何も変わっていないようです。私は間違ったことをしたのですか? –

3

これは、easyrenderパッケージの説明のバグです。 cabal-installの "new-build"も同じ問題に遭遇することに注意してください。このスタックの問題についての私のコメントを参照してください:https://github.com/commercialhaskell/stack/issues/3560#issuecomment-344075524

回避策の混乱を減らすべき、この状況について警告を発しますhttps://github.com/commercialhaskell/stack/issues/3560#issuecomment-343980627

次のスタックのリリースでの問題にもトーマスの答えによって記述、およびようです未来。

残念ながら、easyrenderには問題追跡ツールがありません。ハッカーページしかないようです。私は彼がこれを修正するように要請した著者に電子メールで送った。

+0

ありがとう –

関連する問題