導入記録:macports 2.0.0 on Xcode4.1 on LION

「LIONになるともろもろ動いてないっぽい」というウワサも漏れ聞こえてくるのだが、まだ実害がでていない間に環境整備することにした。

macports2.0.0 (*1)

$ sudo port -v selfupdate

では、2.0.0が出ているからdownloadした、というところまでは、するっと。こんな感じ。

...
MacPorts base version 1.9.2 installed,
MacPorts base version 2.0.0 downloaded.

      • > MacPorts base is outdated, installing new version 2.0.0

...

しかし、そこからまもなく、コンパイルできないなどが頻発し、残念な結果に終わる。

ここで、遅ればせながらまじめにmacportsのinstallページを読むことにし、はじめてXcode4.1 というLION環境向けのものをインストールするべきだったということを認識する。(いつもの流れ)
http://www.macports.org/install.php より

Please note that in order to install and run MacPorts on Mac OS X, your system must have installations of the following components:

1. Apple's Xcode Developer Tools (version 4.1 or later for Lion, ...

Xcode 4.1

Xcodeは前バージョンからAppStoreから入れていたので、そこで検索し、ぽちっと。あれ?Free? 確か、前バージョンは有料で購入した覚えが・・・。

ともかく無料になって怒るなんてせこいことを言っている場合ではないので、ハキハキとダウンロード。

会議の合間などでWifiでオンラインのすき間にダウンロードしたからか、わりと長い時間がかかってダウンロード完了。AppStoreでは、"Installed"と表記された。

で、macports2.0.0のビルドはできるかなーと(*1)に戻る。

あれ、できない。何度やってもできない。

ここで @kskmt さん曰く
http://twitter.com/#!/kskmt/status/96082938877329409 より

Xcode 4.1入れて、MacPorts 2.0入れたぬ。App Storeでインストールしてもインストーラが置かれるだけなのは穴だった。

うそ、まじで?と、改めてLION謹製 "LaunchPad" を見ると、、、

うはー。"Install Xcode" だってさ。これクリックしないと入らないんだ...orz

ということでぽちっとinstall。何度か妙なエラーがでたので、Crashさせてみたりしたが、ラチがあかないのでもう一度この"Install Xcode"アイコンをクリックし、update installさせるとなんとかうまくいったようだ。

ここで記録のためひとつ。Xcodeの古いものは、Developer-oldというディレクトリに残っているようだ。

これが原因で、Spotlight経由で古いコマンドを動かしてしまう可能性を残すものとなるかもしれない。消してしまうかどうかは今判断できないけど、気をつけなければね。

ふたたびmacpors2.0.0を目指す

$ sudo port -v selfupdate
...
...
This could take a while...

Congratulations, you have successfully installed the MacPorts system. To get the Portfiles and update the system, add /opt/local/bin to your PATH and run:

sudo port -v selfupdate

Please read "man port", the MacPorts guide at http://guide.macports.org/ and Wiki at https://trac.macports.org/ for full documentation.


The ports tree has been updated. To upgrade your installed ports, you should run
port upgrade outdated

やったね!

$ sudo port upgrade outdated

現在これでお掃除中。とりあえず完了となろう。