起こった問題
Vimで’E887: Sorry, this command is disabled, the Python’s site module could not be loaded.’なエラー の所でVimをアップデートしようとした時、 HEADバージョンをMercurialで取ってこようとするところで
abort: error: _ssl.c:507: EOF occurred in violation of protocol
みたいなエラーが。
試しに、直接コマンドでやってみても
$ hg clone https://vim.googlecode.com/hg/ vim
abort: error: _ssl.c:507: EOF occurred in violation of protocol
となります。
これをhttps
からhttp
に替えれば取ってこれるんですが、
VimのFormula: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/vim.rb
を見ても、この部分、以前からhttps
を使っていて
少なくとも前はhttps
を使って取ってきてたはずです。
試しに他のLinux端末でht clone
してみると問題なくhttps
からも
取ってこれました。
なのでMacのSSL周りの問題です。
上の_ssl.cはPythonのものなのでPythonのアップデートに伴うものな感じ。
色々ソフトウェアのアップデートとかが中途半端になってるのかと思い、
brew update && brew upgrade
してみると
==> Downloading https://downloads.sf.net/project/libpng/libpng16/1.6.16/libpng-1.6.16.tar.xz
curl: (35) Unknown SSL protocol error in connection to downloads.sf.net:443
Error: Download failed: https://downloads.sf.net/project/libpng/libpng16/1.6.16/libpng-1.6.16.tar.xz
みたいなエラーが出るものが多数。
一部のものは、これで失敗すると別のソースコードのある所から 取ってきてインストールしてたりもしましたが、 それが出来ないものはそのまま失敗。
curl
でこけてるので、直接コマンドを打ってみても
$ curl https://downloads.sf.net/project/libpng/libpng16/1.6.16/libpng-1.6.16.tar.xz
...
curl: (35) Unknown SSL protocol error in connection to downloads.sf.net:443
と同じ。
curl
はOS Xにもともと入っていてそのまま使っているので
上に書いたPythonの変更だけが悪いわけでは無さそうです。
openssl
を見てみるとHomebrewで入れていましたが、
これはいくつかのパッケージがopenssl
に依存しているからの様子。
ただ、openssl
コマンド自体はOS Xにデフォルトで入っているので
リンクは貼られず、
依存するパッケージがライブラリを使用するためだけに入ってる感じ。
なので、少なくともデフォルトで入ってるcurl
には影響がないはずなので
さらに謎に。。。
検索してみると、以前、同じような問題が起こっていて
Pango fails install with curl SSL error · Issue #25990 · Homebrew/homebrew · GitHub
この時なんかはサイト側が単に落ちていた、と。
他には
Unknown SSL Protocol error with downloads.sf.net · Issue #16501 · Homebrew/homebrew · GitHub
Gd dependency download from bitbucket failed · Issue #32420 · Homebrew/homebrew · GitHub
この辺は根本的には解決してない感。
どうしても上手くいかなかなかったので、取り敢えずは Vimに関して /usr/local/Library/Formula/vim.rbの中の
https://vim.googlecode.com/hg/
を
http://vim.googlecode.com/hg/
に変更してインストールしました。
ただ、現状この様な問題が多発してるわけでも無さそうで 自分の環境が悪い感じなのでもう少し検索。
最初のMercurialの問題に関して、
python - using requests with TLS doesn’t give SNI support - Stack Overflow
TortoiseHg / Mailing Lists: http://sourceforge.net/p/tortoisehg/mailman/message/32929322/
みたいなこととかがあってPythonのバージョンとかの問題かな、 と思って色々入れなおしたりしてみましたがやっぱりダメ。
で、取り敢えず諦め。
その後
そして、半日ほど経って、試しにやってみたところ Vimも他のパッケージも問題なくダウンロード出来ました。。。
手元のネットワーク環境設定が大きく変わった、と言うことは無いと思うので
色々アップデートとかしてる間に何か上手くいったのか何なのか?
ただ、curl
の方はHomebrewとは関係ないはずだし更に良くわからず。。。
Vimと他のパッケージで供給元も違うので一概にサイト側の問題、 というのもあれですが、 たまたまサイト側の問題が重なっただけなのかもしれないので、 そいうことにしておいて、今度起こった時は 少し待ってみて試してみるということを覚えておこう、かと。