3

次のエラーメッセージはわかりませんが、以前にLinuxにutf8-lightを問題なくインストールしたことがあります。誰かが何が悪いのかを明らかにすることができますか?これはLLVMの問題ですか、GHC 7の問題ですか、それともutf8-lightの問題ですか?

$ cabal install utf8-light
Resolving dependencies...
Configuring utf8-light-0.4...
Preprocessing library utf8-light-0.4...
Building utf8-light-0.4...
[1 of 1] Compiling Codec.Binary.UTF8.Light ( src/Codec/Binary/UTF8/Light.hs, dist/build/Codec/Binary/UTF8/Light.o )
SpecConstr
    Function `$j_s2oG{v} [lid]'
      has five call patterns, but the limit is 3
    Use -fspec-constr-count=n to set the bound
    Use -dppr-debug to see specialisations
In file included from /usr/local/Cellar/ghc/7.0.3/lib/ghc-7.0.3/include/Stg.h:230,

                 from /var/folders/1+/1+3Ih2g9EriMfl8UHRtdQU+++TM/-Tmp-/ghc39083_0/ghc39083_0.hc:3:0:


/usr/local/Cellar/ghc/7.0.3/lib/ghc-7.0.3/include/stg/Regs.h:177:0:
     sorry, unimplemented: LLVM cannot handle register variable ‘R1’, report a bug
cabal: Error: some packages failed to install:
utf8-light-0.4 failed during the building phase. The exception was:
ExitFailure 1
4

3 に答える 3

2

これはMac上のLLVMの問題であるため、いくつかのオプションがあります。

  • GHC 7.0.3(この問題を修正するIIRC)をインストールします。
  • Haskellプラットフォームの新しいバージョンがリリースされる来週まで待つ
  • -fasmや-fvia-CなどのGHCの他のバックエンドの1つを介してコンパイルします

例えば

$ cabal install utf8-string --ghc-options=-fasm

ネイティブcodegenの使用を強制する必要があります。

于 2011-04-06T17:13:02.857 に答える
1

これはそれほど役に立ちませんが、問題をグーグルで検索すると、このバグレポートが表示されます。これはLLVMの問題のようで、Haskellとは何の関係もありません。とはいえ、私は自分が何について話しているのか本当にわからず、それを修正する方法もわかりません。申し訳ありませんが、これ以上お役に立てることはありません。

于 2011-04-06T16:04:48.730 に答える
0

llvm-gccおよびllvmは、グローバルレジスター固定変数をサポートしていません。したがって、唯一の解決策は、それらを使用しないようにコードを書き直すことです。ローカル変数へのアクセスを自動的にインラインasmに書き換えることができるため、ローカル変数は問題ありません。

于 2011-04-06T16:40:54.557 に答える