M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

ViatualBox で再生した CentOS 6.4 上に Haskell Platform 2013.2.0.0 をインストール

f:id:m12i:20130908085900p:plain
f:id:m12i:20130908104813p:plain

先日、VirtualBoxを使ってMac上にCentOS 6.4マシンを構築し、Haskell Platformのインストールも行った。このときのメモ。

  1. CentOS の公式サイトにアクセス。
  2. [Downloads]→[Mirrors]でダウンロード情報ページに移動。
  3. CentOS Public Mirror List]リンクからミラー一覧ページにアクセス。
  4. [South American, Asian, Oceania, Middle Eastern, African and Other Regional Mirrors]をクリックして、近しいエリアのダウンロードサイトを探す。今回は「JAIST」にした。
  5. 一覧上右端の列のダウンロード方法は「HTTP」。JAIST北陸先端科学技術大学院大学)のサイトに移動して、OSバージョン「6.4」→対象はディスクイメージ「isos」→アーキテクチャは「i386」と掘り下げていき、「CentOS-6.4-i386-LiveCD.iso」をクリック(わたしは.torrentファイルの方をダウンロードしてBitTorrent.appでISOをダウンロードした)。
  6. インストール手順は 「『CentOS』をゲストOSに」を参考にして進めた。注意点として──
    • Live CDからのOS起動時、ブート方法を選べる(マシンにインストールせずOSを起動するか、OSを起動せずにマシンにインストールのみ行うか、etc)ものの「OSを起動せずにマシンにインストールのみ行う」方はうまくいかなかった。インストール完了の画面表示のあと画面がまっくろになり応答しない。
    • 左記の記事通りLive CDでOSを起動し、「Install to Hard Drive」からインストールを行う途中、パーティション設定の画面下部「Review and modify partitioning layout」にチェックを入れて自動設定されたパーティション設定を確認。必要に応じて適切な内容に補正すること。インストールするマシンの性能(わたしの場合はVMの性能)にもよるはずだけど、最初これをぬかった結果、日本語化とかのためのパッケージを追加するときに「/」(ルート)パーティションの残容量がゼロになってしまった…...。
  7. 前掲の記事にしたがって、OSインストール→OS再起動→初回起動時のユーザ設定などを済ませたら、引き続き「仮想CentOSに『GuestAdditions』をインストール」でVirtualBoxとの統合ツールをインストールする。VirtualBox上でLinuxマシンを動かす場合、必須ではないにしてもこのステップを踏まないとかなり使い勝手が悪い。手順にある通り、ここでいくつかの開発用パッケージの追加インストールが必要になっているが「make」だけはすでにインストールされていた。
  8. OS側の作業が済んだら、GHC (Glasgow Haskell Compiler)のプロジェクトサイトにアクセス。
  9. バージョン7.6.3のダウンロードページから「ghc-7.6.3-i386-unknown-linux.tar.bz2」をダウンロードする。ページ上部に「Stop! For most users, we recommend installing the Haskell Platform instead of GHC. The current Haskell Platform release includes a recent GHC release as well as some other tools (such as cabal), and a larger set of libraries that are known to work together.」(ちょっと待って! 多くのユーザの皆さんにはGHCではなくHaskell Platformのインストールをお奨めします。現在のバージョンのHaskell PlatformはCabalのようなツール群、そして連携してはたらく多くのライブラリのセットとともにGHCをも含んでいます。)という警告があるけど、もともとCentOS向けのHaskell Platformパッケージは提供されていないので、警告内容に該当しない。
  10. ターミナルを起動してダウンロードした圧縮ファイルを解凍する(tar xvfj ghc-7.6.3-i386-unknown-linux.tar.bz2)。
  11. 解凍したフォルダに移動(cd ghc-7.6.3)して、rootユーザになる(su)。
  12. configureスクリプトを実行し(./configure)、完了後は引き続きmakeを実行(make install)。
  13. これでGHCの準備が完了したら、Haskell PlatformのプロジェクトサイトのLinux向けダウンロードページから「 haskell-platform-2013.2.0.0.tar.gz 」をダウンロードする。
  14. 引き続きPlatform自体のインストールを行う前に、Platformのインストール過程で必要になるパッケージをインストールする。CentOSの[System]→[Administration]→[Add/Remove Software]でパッケージマネージャを起動して、以下のパッケージを検索、チェックを入れて[Apply]ボタンでインストールする(ZlibとFreeglutはそれぞれdevelパッケージのみでOKな気がする……)。
    • gmp-static-4.3.1-7.el6_2.2 (Development tools for the GNU MP arbitrary precision library)
    • zlib-static-1.2.3-29.el6(Static libraries for Zlib development)
    • zlib-devel-1.2.3-29.el6(Header files and libraries for Zlib development)
    • freeglut-2.6.0-1.el6(A freely licensed alternative to the GLUT library)
    • freeglut-devel-2.6.0-1.el6(Freeglut developmental libraries and header files)
  15. ターミナル上でダウンロードした圧縮ファイルを解凍する(tar xvf haskell-platform-2013.2.0.0.tar.gz)。
  16. 解凍したフォルダに移動(cd haskell-platform-2013.2.0.0)して、rootユーザになる(su)。
  17. configureスクリプトを実行し(./configure)、完了後は引き続きmakeを実行(make install)。

以上の手順で、GHCおよびGHCiとCabalその他を含むHaskell Platformのインストールは完了。