2017-04-11 16 views
0

キャブールインストールで robotをインストールしようとしています。キャブのインストールでロボットをインストールできない

キャブを介してロボットを設置しようとすると、またはgit repoをクローンした後で、次のエラーメッセージが表示されます。

 
Resolving dependencies... 
cabal: Entering directory '/tmp/cabal-tmp-6435/xhb-0.6.2015.8.1' 
Configuring xhb-0.6.2015.8.1... 
Building xhb-0.6.2015.8.1... 
Preprocessing library xhb-0.6.2015.8.1... 
[ 1 of 61] Compiling Graphics.XHB.Shared (Graphics/XHB/Shared.hs, dist/build/Graphics/XHB/Shared.o) 

Graphics/XHB/Shared.hs:271:17: error: 
    Ambiguous occurrence ‘putInt8’ 
    It could refer to either ‘Data.Binary.Put.putInt8’, 
          imported from ‘Data.Binary.Put’ at Graphics/XHB/Shared.hs:9:1-22 
          or ‘Graphics.XHB.Shared.putInt8’, 
          defined at Graphics/XHB/Shared.hs:309:1 

Graphics/XHB/Shared.hs:275:19: error: 
    Ambiguous occurrence ‘getInt8’ 
    It could refer to either ‘Data.Binary.Get.getInt8’, 
          imported from ‘Data.Binary.Get’ at Graphics/XHB/Shared.hs:10:1-22 
          or ‘Graphics.XHB.Shared.getInt8’, 
          defined at Graphics/XHB/Shared.hs:312:1 

Graphics/XHB/Shared.hs:279:17: error: 
    Ambiguous occurrence ‘putInt16host’ 
    It could refer to either ‘Data.Binary.Put.putInt16host’, 
          imported from ‘Data.Binary.Put’ at Graphics/XHB/Shared.hs:9:1-22 
          or ‘Graphics.XHB.Shared.putInt16host’, 
          defined at Graphics/XHB/Shared.hs:315:1 

Graphics/XHB/Shared.hs:283:19: error: 
    Ambiguous occurrence ‘getInt16host’ 
    It could refer to either ‘Data.Binary.Get.getInt16host’, 
          imported from ‘Data.Binary.Get’ at Graphics/XHB/Shared.hs:10:1-22 
          or ‘Graphics.XHB.Shared.getInt16host’, 
          defined at Graphics/XHB/Shared.hs:318:1 

Graphics/XHB/Shared.hs:287:17: error: 
    Ambiguous occurrence ‘putInt32host’ 
    It could refer to either ‘Data.Binary.Put.putInt32host’, 
          imported from ‘Data.Binary.Put’ at Graphics/XHB/Shared.hs:9:1-22 
          or ‘Graphics.XHB.Shared.putInt32host’, 
          defined at Graphics/XHB/Shared.hs:321:1 

Graphics/XHB/Shared.hs:291:19: error: 
    Ambiguous occurrence ‘getInt32host’ 
    It could refer to either ‘Data.Binary.Get.getInt32host’, 
          imported from ‘Data.Binary.Get’ at Graphics/XHB/Shared.hs:10:1-22 
          or ‘Graphics.XHB.Shared.getInt32host’, 
          defined at Graphics/XHB/Shared.hs:324:1 
cabal: Leaving directory '/tmp/cabal-tmp-6435/xhb-0.6.2015.8.1' 
Failed to install xhb-0.6.2015.8.1 
cabal: Error: some packages failed to install: 
xhb-0.6.2015.8.1 failed during the building phase. The exception was: 
ExitFailure 1 


お手数ですが進んでください。

+0

明らかに互換性の問題があります。 'xhb'はちょっと残っているようですが、GHC-8でテストしたことはありません。 'base'と' 'binary''(http://hackage.haskell.org/package/binary)のどのバージョンをインストールしましたか? – leftaroundabout

+0

私はbase-4.9.1.0とbinary-0.8.5.1をインストールしました。 –

答えて

1

だから問題は、バイナリ0.8がバイナリ0.7ではできなかった多くのプリミティブをエクスポートすることです。 http://hackage.haskell.org/package/binary-0.7.5.0/docs/Data-Binary-Put.html#g:3http://hackage.haskell.org/package/binary-0.8.5.1/docs/Data-Binary-Put.html#g:3を比較してください。

+ putInt8 :: Int8 -> Put 
+ putWord64be :: Word64 -> Put 
+ putInt16be :: Int16 -> Put 
... 

xhbこれらの関数は別々にインポートされるため、バイナリ0.8を使用すると名前の衝突が発生します。あなたは、あなたがしているプルリクエストを提出することができる

import Data.Binary.{Put|Get}輸入qualified行い、その後、明示的putInt8などの各使用したいモジュールから明確に、fork xhb ..:

これを解決する最も安全な方法完了しました。

また、制約binary < 0.8を追加するだけでインストールを完了させることができますが、これは回避策に過ぎません。 xhb

cabal install xhb --constraint="binary<0.8" 

インストールされている、robotのインストールは、問題なく動作するはずです。

関連する問題