Mac OS X MavericksでMacPortsインストールしようとしてハマった話。

----
# 注意：備忘録です。端的な解決や啓示を与える様なTipsではありません。
----
掲題の通り、ハマった話です。
本来はblogか何かでやるべき事なのでしょうが、
外に開いているのがこれとtwitterだけなので。。。

----

## `clipboard＋`、`xterm_clipboardー`

Vimのコピペを便利にしたい！！
Vim外でコピーしたものをVimにペーストしたり、その逆をしたかった。
ググると、下記にてありがたい情報が。
>[コンソールVimのヤンクでMacのクリップボードにコピー](http://qiita.com/us10096698/items/f656b89ee7d0d02d37cb)

Vimのバージョンで確認すると、`clipboard +`、`xterm_clipboard -`だった。
他のアプリケーションとの間でコピー＆ペーストしたいなら、xterm_clipboardは＋でないとダメらしい。

MacPortsなるものを利用して、xterm_clipboard＋なVimをビルドしちまいましょう、なるほど。

## で、`MacPorts`ってなんぞ？

MacPortsとは、
>MacOSX 上で利用可能なパッケージシステムの一つで、 主に UNIX 向けに開発されたオープンソース・ソフトウェアを手軽にインストールすることができます。

>[引用元](http://macwiki.sourceforge.jp/wiki/index.php/MacPorts, "Mac wiwki")

へー。
ってことで、またググる。

## MacPorts、インストール！！！
>[MacPortsのMac OS X 10.9 Mavericks対応について(10/24現在)](http://d.hatena.ne.jp/kimuraw/20131024/p1 "きりかノート２冊目")

## の、前に、Xcode Command Line Toolsインストール！

そう、この時は出来たんだ、この時は……。

```Bash
% xcode-select --install
```

## MacPortsをソースからビルド・インストールする

[前述のサイト](http://d.hatena.ne.jp/kimuraw/20131024/p1)を参考にしてビルドを進めていったのだが、これがさっぱりうまくいかない。
あれがだめー、これがだめーと言われるたびに、エラーの出たコマンドを手動打ちしてみると、何故か成功する。してしまう。
別にpermissionで蹴られていた訳ではないのだ。
なのに上手くいってしまった。

で。
最後に、

```Bash
% sudo port -dtv selfupdate
```

ってなんか管理対象のリストを更新するコマンドを打ったのだけれども。
上手くいかない。
以下にその際のログを添付する。
**:Caution** ユーザ名は安全のため、Nyahaaaanでお送りします。

```Bash
DEBUG: Copying /Users/Nyahaaaan/Library/Preferences/com.apple.dt.Xcode.plist to /opt/local/var/macports/home/Library/Preferences
DEBUG: MacPorts sources location: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs
--->  Updating MacPorts base sources using rsync
receiving file list ... done
base.tar

sent 13396 bytes  received 10354 bytes  9500.00 bytes/sec
total size is 4925440  speedup is 207.39
receiving file list ... done
base.tar.rmd160

sent 64 bytes  received 635 bytes  279.60 bytes/sec
total size is 512  speedup is 0.73
DEBUG: successful verification with key /opt/local/share/macports/macports-pubkey.pem
DEBUG: /usr/bin/tar -C /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/tmp -xf /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/base.tar
MacPorts base version 2.2.1 installed,
DEBUG: Rebuilding and reinstalling MacPorts if needed
MacPorts base version 2.2.1 downloaded.
--->  Updating the ports tree
Synchronizing local ports tree from file:///Users/Nyahaaaan/MacPorts/dports/
DEBUG: /usr/bin/svn update --non-interactive /Users/Nyahaaaan/MacPorts/dports
DEBUG: changing euid/egid - current euid: 0 - current egid: 0
Updating 'MacPorts/dports':
svn: E175002: Unable to connect to a repository at URL 'https://svn.macports.org/repository/macports/trunk'
svn: E175002: OPTIONS of 'https://svn.macports.org/repository/macports/trunk': Server certificate verification failed: issuer is not trusted (https://svn.macports.org)
Command failed: /usr/bin/svn update --non-interactive /Users/Nyahaaaan/MacPorts/dports
Exit code: 1
DEBUG: command execution failed
    while executing
"system $svn_commandline"
Error: Synchronization of the local ports tree failed doing an svn update
DEBUG: Couldn't sync the ports tree: Synchronization of 1 source(s) failed
    while executing
"macports::selfupdate [array get global_options] base_updated"
Error: Couldn't sync the ports tree: Synchronization of 1 source(s) failed
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: /opt/local/bin/port: port selfupdate failed: Couldn't sync the ports tree: Synchronization of 1 source(s) failed
```

## 原因調査

色々と調べてみたのだけれど、原因は３つくらい考えられるらしかった。

+ MacPortsがMavericks対応バージョンじゃない
+ Xcode Command Line Toolsがインストールされていない
+ SSL認証がうまくいってない
+ (蛇足？)tarがbsdtar

## MacPortsがMavericks対応バージョンじゃない

実は上に添付したログはすでに対応と言われるバージョンなので、もう上手く行っていない事がバレバレなのだが。
最初、svnでtrunkから持ってきたバージョンは、2.2.99という、なんぞこれなバージョンだった。

ここで、きちんとMacPortsをアンインストールしてから、Mavericks対応の2.2.1のpkgを入れればまた話は違ったのかもしれない。
しかし、眠かったので、そのままpkgをダウンロードしてきて、手順に従いインストール！

形式的には上手く行ったのかもしれない。
一応、バージョンを調べると2.2.1になっている。
でもまあ、どっかおかしいのだろうな。

## Xcode Command Line Toolsがインストールされていない

<del>結論から言うと失敗したので、同じ問題にハマっている人は、実行してはいけません。</del>
**->結論を参照してください。一応解決？します。**

インストールしたよ！ と言ってみても始まらない。
バージョンを調べてみたらきちんと表示されたから、入っていないという事もないだろうとは思うけれども。
MacPorts同様、最新版じゃないものが入っているのかもしれない。

Xcodeは5.0から、Xcode>preference>generalでCommand Line Toolsをダウンロードできなくなったらしい。
なのでその代わりの

```Bash
% xcode-select --install
```

らしいのだけれども、実はちゃんと？抜け道があったのでござる。
>Xcode>Open Developer Tool>More Developer Tools...

Appleの認証を経て、[Downloads for Apple Developers]に辿り着く。
>Command Line Tools(OS X Mavericks) for Xcode -Late October

なるものがあるじゃないですかー！
当然のようにダウンロード&インストール。

……それでもselfupdateは上手く行かない。
なんでだろうなー、わっかんないなーと、とりあえずアホみたいにもう一度、

```Bash
% xcode-select --install
```

するとどうでしょう、インジケーターが途中で止まってこんな事言われるじゃないですか。

> このソフトウェアは、現在ソフトウェア・アップデート・サーバから入手できないため、インストールできません。

もうね、問題が増えたんだか減ったんだかわからないwww

ちなみにこの問題、rubyのプラグインとかgem？に関する何かしらが原因かもしれないらしい。
でも一切触れてないしなあ。
Xcode Command Line Toolsで入ってきたなら、なんというマッチポンプ。

## SSL認証がうまくいってない

svnでこける直接的な原因かと思われる。
svn関連のconfigファイルいじれ、という話らしいのだが、
そもそもそのファイルが見つからない。

## (蛇足？)tarがbsdtar

MacPortsビルド時、色んな所で止まっていたけれど、その中の一つに、

```Bash
/usr/bin/tar -C /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/tmp -xf
```
これができないよー、って言ってた時があった。
手動で動かすと問題なく出来たんだけど。
tarがgnutarじゃなくてbsdtarだからじゃね？ という意見もどこかで見た気がするけれども、urlをメモし忘れました。
ちなみに、Mavericksにはgnutar入ってませんでした。

## よく考えてみろ。

ちょと振り返ってみると、つまり、xterm_clipboardが＋になるようにVimをビルドし直したかったわけです。

MavericksのデフォルトのVimは7.3。
でも今使っているVimは7.4。

そう、自分でビルドして差し替えたんです。

という事は、恐らくですが、configに適当な値を設定しなかったせいで、xterm_clipboardが＋になっていない可能性が高い。

つまり、持っている7.4のソースを、xterm_clipboardが＋になる様にビルドすればいい。

……ぐふっ。

## 結論
+ Xcode Command Line Tools は手動でインストールできた。
+ MacPortsを一度削除して、再度2.2.1pkgをインストールしたら上手く行った。

## Xcode Command Line Tools は手動でインストールできた。

```Bash
xcode-select -p
```
上記を実行すると、Command Line Toolsをインストールすべきディレクトリが示されるので、

```Bash
xcode-select -s <インストール先>
```

としてやると、インストールできます。

ただ、インストール前に、下記を実行すべきなのかもしれません。
私は効果のほどもわからずに実行してしまいましたが。

```Bash
xcode-select -r
```

要は、ダウンロードしてきたツールのバージョンと、サーバにあるツールのバージョンが一致しないのでなんか危ないかもしれないからやらないよ、という事なのでしょう、たぶん。
手動でインストールする分には構いませんが、って事なんですかね？
一応、この問題に対する議論なんじゃないかと思われるものは見つけました。
英語に明るくないので、ズバリかどうかはわかりません。すいません。
>[Maverics/Xcode 5 proposal: no more xcode-select --install](http://mac-os-forge.2317878.n4.nabble.com/Maverics-Xcode-5-proposal-no-more-xcode-select-install-td233416.html)

## MacPortsを一度削除して、再度2.2.1pkgをインストールしたら上手く行った。

適当にやってしまったので、どれが何の原因かはわかっていないのですが。
ひとまず一旦、下記を参考にして、MacPortsを削除しました。
>[MacPorts のアンインストール方法](http://danmk.net/wordpress/macports-uninstall/)

portのuninstallオプションは、MacPorts自体をアンインストールするものじゃないんですね。
うまくいかず、しばらくエラーメッセージとにらめっこしてしまいました。

で、次にXcode Command Line Toolsを削除しようと思ったのですが、どうにも古いバージョンの情報しか出てこず、色々検索していた結果、上記の手動インストールに辿り着きました。

この後、2.2.1pkgをダウンロードしてインストールしたところ、何事もなくすっかり上手く行きました。

せっかくなので、VimはMacPorts経由でインストールしてみました。
上手く行きました。

以上。