いきさつ
el-getを使っていると以下のようなWarningが出ることがある。
Warning (el-get): Your Emacs doesn't support HTTPS (TLS).
まあWarningなので無視しても問題ないっちゃ問題ないのだが、いちいち出てくるのがうざい。EmacsをTLSに対応させることで対処したい。
対処
まずはMac版でかつHomebrewに入れた時の対処である。
簡単で、一度Emacsをアンインストールして、HTTPS対応版をインストールするだけでよい。 brew install emacs
する時に --with-xxx
のようにオプションを渡すことができるので、ここで --with-gnutls
を渡してやるだけでよい。
$ brew uninstall emacs $ brew install emacs --with-gnutls
gnutls関連の依存パッケージも勝手にインストールしてくれるので、Macの場合はHomebrewで入れるのが凄く楽だ。
また、昨日の記事でも書いたように、 --with-xxx
系のオプションには、 --with-cocoa
(GUI版をインストール)などとさまざまなオプションがあるので、自分がどのようなオプションでEmacsをインストールしたか覚えておいたほうが良い。Ansibleにしてもいいし、gistとかにメモっておいた方がよい。覚えて置かないとPCが変わった時に困ったり、思わぬ落とし穴にはまったりする。
Mac じゃない時は?
Macじゃない場合や、MacでもHomebrewを使っていないなどで、ソースからビルドしたい場合もあるだろう。その場合は ./configure --with-gnutls
としたら行けるはずだ*1、ただし、こちらはHomebrewのように依存パッケージの処理は勝手にしてくれない。gnutls関連のライブラリなどがひつようとなる筈なので、これをインストールした上でEmacsをビルドする必要がある。例えば CentOS7なら
$ wget emacs-source-file.tar.giz $ cd emacs-source-file $ ./configure ... configure: error: The following required libraries were not found: gnutls Maybe some development libraries/packages are missing? If you don't want to link with them give --with-gnutls=no as options to configure
こんなエラーが出るので
$ yum install gnutls-devel $ ./configure
これでうまくいく*2。
How do I install GnuTLS for Emacs 25.1 on Windows? - Emacs Stack Exchange あたりが参考になるかもしれない。