Mac OS 10.5.8 に json-0.4.4 パッケージをインストールしようとしたところ、次のエラーが発生しました。
$ sudo cabal install "json-0.4.4"
Building json-0.4.4...
[1 of 7] Compiling Text.JSON.Types ( Text/JSON/Types.hs,
dist/build/Text/JSON/Types.o )
[2 of 7] Compiling Text.JSON.Pretty ( Text/JSON/Pretty.hs,
dist/build/Text/JSON/Pretty.o )
[3 of 7] Compiling Text.JSON.ReadP ( Text/JSON/ReadP.hs,
dist/build/Text/JSON/ReadP.o )
Text/JSON/ReadP.hs:104:21:
Warning: A do-notation statement discarded a result of type b.
Suppress this warning by saying "_ <- n",
or by using the flag -fno-warn-unused-do-bind
[4 of 7] Compiling Text.JSON.Parsec ( Text/JSON/Parsec.hs,
dist/build/Text/JSON/Parsec.o )
ghc: memory allocation failed (requested 2097152 bytes)
cabal: Error: some packages failed to install:
json-0.4.4 failed during the building phase. The exception was:
ExitFailure 1
これは、16 GB の RAM を搭載したマシン上にあります。
http://www.haskell.org/cabal/FAQ.html#cabal-goes-into-an-infinite-loop--runs-out-of-memory が適用されるとは思わない そこに言及:
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 6.12.3
$ cabal --version
cabal-install version 0.8.2
using version 1.8.0.6 of the Cabal library
JSON パッケージの最新バージョンをインストールしなかったのはなぜですか?
$ sudo cabal install json
Resolving dependencies...
cabal: dependencies conflict: base-3.0.3.2 requires syb ==0.1.0.2 however
syb-0.1.0.2 was excluded because json-0.7 requires syb >=0.3.3
ベース IIUC を更新するということは、私の Haskell Platform インストール全体を更新することを意味し、Mac OS 10.5 バイナリが利用可能な最新バージョンを既に持っています。ソースからビルドすることも、ポートまたはbrewを使用することもできますが、jsonパッケージをビルドするだけです。
Mac OS 10.5.8 が古いことは知っていますが、残念ながらこの特定のマシンをアップグレードすることはできません。