注意:備忘録です。端的な解決や啓示を与える様なTipsではありません。
掲題の通り、ハマった話です。
本来はblogか何かでやるべき事なのでしょうが、
外に開いているのがこれとtwitterだけなので。。。
clipboard+
、xterm_clipboardー
Vimのコピペを便利にしたい!!
Vim外でコピーしたものをVimにペーストしたり、その逆をしたかった。
ググると、下記にてありがたい情報が。
Vimのバージョンで確認すると、clipboard +
、xterm_clipboard -
だった。
他のアプリケーションとの間でコピー&ペーストしたいなら、xterm_clipboardは+でないとダメらしい。
MacPortsなるものを利用して、xterm_clipboard+なVimをビルドしちまいましょう、なるほど。
で、MacPorts
ってなんぞ?
MacPortsとは、
MacOSX 上で利用可能なパッケージシステムの一つで、 主に UNIX 向けに開発されたオープンソース・ソフトウェアを手軽にインストールすることができます。
へー。
ってことで、またググる。
MacPorts、インストール!!!
の、前に、Xcode Command Line Toolsインストール!
そう、この時は出来たんだ、この時は……。
% xcode-select --install
MacPortsをソースからビルド・インストールする
前述のサイトを参考にしてビルドを進めていったのだが、これがさっぱりうまくいかない。
あれがだめー、これがだめーと言われるたびに、エラーの出たコマンドを手動打ちしてみると、何故か成功する。してしまう。
別にpermissionで蹴られていた訳ではないのだ。
なのに上手くいってしまった。
で。
最後に、
% sudo port -dtv selfupdate
ってなんか管理対象のリストを更新するコマンドを打ったのだけれども。
上手くいかない。
以下にその際のログを添付する。
:Caution ユーザ名は安全のため、Nyahaaaanでお送りします。
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
原因調査
色々と調べてみたのだけれど、原因は3つくらい考えられるらしかった。
- 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がインストールされていない
結論から言うと失敗したので、同じ問題にハマっている人は、実行してはいけません。
->結論を参照してください。一応解決?します。
インストールしたよ! と言ってみても始まらない。
バージョンを調べてみたらきちんと表示されたから、入っていないという事もないだろうとは思うけれども。
MacPorts同様、最新版じゃないものが入っているのかもしれない。
Xcodeは5.0から、Xcode>preference>generalでCommand Line Toolsをダウンロードできなくなったらしい。
なのでその代わりの
% 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は上手く行かない。
なんでだろうなー、わっかんないなーと、とりあえずアホみたいにもう一度、
% xcode-select --install
するとどうでしょう、インジケーターが途中で止まってこんな事言われるじゃないですか。
このソフトウェアは、現在ソフトウェア・アップデート・サーバから入手できないため、インストールできません。
もうね、問題が増えたんだか減ったんだかわからないwww
ちなみにこの問題、rubyのプラグインとかgem?に関する何かしらが原因かもしれないらしい。
でも一切触れてないしなあ。
Xcode Command Line Toolsで入ってきたなら、なんというマッチポンプ。
SSL認証がうまくいってない
svnでこける直接的な原因かと思われる。
svn関連のconfigファイルいじれ、という話らしいのだが、
そもそもそのファイルが見つからない。
(蛇足?)tarがbsdtar
MacPortsビルド時、色んな所で止まっていたけれど、その中の一つに、
/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 は手動でインストールできた。
xcode-select -p
上記を実行すると、Command Line Toolsをインストールすべきディレクトリが示されるので、
xcode-select -s <インストール先>
としてやると、インストールできます。
ただ、インストール前に、下記を実行すべきなのかもしれません。
私は効果のほどもわからずに実行してしまいましたが。
xcode-select -r
要は、ダウンロードしてきたツールのバージョンと、サーバにあるツールのバージョンが一致しないのでなんか危ないかもしれないからやらないよ、という事なのでしょう、たぶん。
手動でインストールする分には構いませんが、って事なんですかね?
一応、この問題に対する議論なんじゃないかと思われるものは見つけました。
英語に明るくないので、ズバリかどうかはわかりません。すいません。
MacPortsを一度削除して、再度2.2.1pkgをインストールしたら上手く行った。
適当にやってしまったので、どれが何の原因かはわかっていないのですが。
ひとまず一旦、下記を参考にして、MacPortsを削除しました。
portのuninstallオプションは、MacPorts自体をアンインストールするものじゃないんですね。
うまくいかず、しばらくエラーメッセージとにらめっこしてしまいました。
で、次にXcode Command Line Toolsを削除しようと思ったのですが、どうにも古いバージョンの情報しか出てこず、色々検索していた結果、上記の手動インストールに辿り着きました。
この後、2.2.1pkgをダウンロードしてインストールしたところ、何事もなくすっかり上手く行きました。
せっかくなので、VimはMacPorts経由でインストールしてみました。
上手く行きました。
以上。