2013年10月25日金曜日

追記: 2013/10/26

OS X LionからMavericksにアップグレードしたので、その際に環境構築の為とかに行ったこと等の手順のメモ。

追記: バージョンが2.2.0から2.2.1になってたので、各手順の2.2.0を2.2.1に修正。また、インストール時はまだMavericks版の package installer,は無かったけど、今はもうあった。あと、後日談も。

  1. Mavericks ダウンロード開始
  2. ダウンロード完了。(Continueのクリックは保留。)
  3. VMWare Fusion 6上にもMavericksインストールして仮想マシンを作成するために、ディスクイメージをコピー。

    Terminal

    $ cp -a '/Applications/Install OS X Mavericks.app/Contents/SharedSupport/InstallESD.dmg' ~/Documents
    
  4. (さらに復元ディスクも作成したい場合は、アップル - OS Xの復元機能があなたのMacを数クリックで元通りに。OS X 復元ディスクアシスタントに方法の記述有り。)
  5. インストール開始。(ここでContinueをクリック)
  6. インストール終了。
  7. Command Line Toolsのインストール(とりあえずXcodeのインストールは後回し。)

    Terminal

    $ xcode-select --install
    
  8. MacPortsの再インストール。

    Terminal

    $ curl -O https://distfiles.macports.org/MacPorts/MacPorts-2.2.1.tar.bz2
    $ tar xf MacPorts-2.2.1.tar.bz2
    $ cd MacPorts-2.2.1/
    $ ./configure
    $ make
    $ sudo make install
    $ sudo port -v selfupdate
    
    package installerを使ってインストールの場合は、インストール後に、

    Terminal

    $ sudo port -v selfupdate
    

    として次に進む。

  9. 各portの再インストールの準備

    Terminal

    $ port -qv installed > myports.txt
    $ sudo port -f uninstall installed
    $ sudo port clean all
    

    あとは使う時に各ポートを一つずつインストールすることに。

  10. 最後にVMware Fusion 6をインストール(VMware Fusion 5にMicrosoft Windows 8.1はインストール済)

追記: 後日談

早速最新バージョン3.4のPythonを使うためにpython34をインストール。そしてインストール後、

Terminal

To make python 3.4 the default (i.e. the version you get when you run 'python'),
please run:

sudo port select --set python python34

と言われたので、pythonと入力したらpython2.x系じゃなくてpython3.4が起動できたら便利だなぁと思って設定。

Terminal

$ sudo port select --set python python34
$

その後、Xcodeをインストールしてから、さらに他のportもいろいろインストールしてたら、エラーになりインストールできないのがいくつか(Haskell(haskell-platform)等)あった。その一つのエラーメッセージを見ると、

Terminal

checking for python >= 2.5...   File "<string>", line 1
    import sys; print sys.version.split()[0]
                        ^
SyntaxError: invalid syntax

どうやら、pythonでpython2.x系じゃなくて3.x系の3.4が起動されるように設定した為に影響が出たのかも。(python3.xでprintがステートメントから関数に変更され、それに伴ってprintに括弧が必要になった(2.x系ではprintは文だったので、括弧はいらなかった)ことからエラーになったみたい。) ということでpythonでバージョン2.7が実行されるよう元に戻すことに。

$ sudo port select --set python python27
$

そしてもう一度 Haskell(haskell-platform)をインストールしたら、今度は上手くいった。と思ったら、前よりは進んだけどまたエラーに。><

Terminal

make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_ghc/ghc/work/ghc-7.6.3'
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_ghc/ghc/work/ghc-7.6.3" && /usr/bin/make -w all 
Exit code: 2
Error: org.macports.build for port ghc returned: command execution failed
Warning: targets not executed for ghc: org.macports.activate org.macports.build org.macports.destroot org.macports.install
Error: Failed to install ghc
Please see the log file for port ghc for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_ghc/ghc/main.log
Error: The following dependencies were not installed: ghc hs-alex hs-quickcheck hs-random hs-async hs-stm hs-attoparsec hs-text hs-cabal-install hs-http hs-mtl hs-transformers hs-network hs-parsec hs-zlib hs-case-insensitive hs-hashable hs-cgi hs-xhtml hs-fgl hs-gluraw hs-openglraw hs-glut hs-opengl hs-happy hs-haskell-src hs-syb hs-html hs-hunit hs-parallel hs-regex-base hs-regex-compat hs-regex-posix hs-split hs-unordered-containers hs-vector hs-primitive
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port haskell-platform failed

でも以前よりは進んだので、インストールの失敗の1つはPythonの設定だったのかなぁ。(ということで、Macに標準搭載されているバージョンが既に2.0になったRubyが羨ましいなぁと思ったり…>_<w)

そして、いろいろと手間だなぁと思ったので、最終的にHaskellのインストールはMacPorts経由ではなく、直接Haskell Platform for Mac OS Xからパッケージ(Haskell Platform 2013.2.0.0 for Mac OS X, 64 bit)をダウンロード、インストールすることに。

0 コメント:

コメントを投稿