Emacsのauto-installで接続エラー443発生

problem-98377_640

 

MacのEmacsにauto-installを入れたら、
emacswiki.orgとの接続エラー443を発生する

 

Emacsにauto-installを入れたら、Emacsが起動時にEmacsWikiに接続しにいくんだけど、443ポートが空いてないみたいなエラーが出て、Emacsが固まるような感じになってしまいました。

↓こんな感じのエラーメッセージがモードエリアに出ます。

Could not create connection to www.emacswiki.org:443

今回の記事はこのエラーの直し方です。

但し、『インターネットに接続している状態』が前提です。
インターネットに接続していない場合は、また別の対応が必要です。

 



 

 

emacsにauto-installを導入する手順&発生する問題とその対応

●↓ターミナル

1.cd ~/.emacs.d/elisp

2.wget http://www.emacswiki.org/emacs/download/auto-install.el

●↓Emacs

3.M-x byte-compile-file RETURN

4.~/.emacs.d/elisp/auto-install.el RETURN

elisp ディレクトリの中に auto-install.elc というファイルができているはず

●↓init.el

5.以下のS式を記述

※auto-install.el の196行目(Installationで検索)の(1)〜(6)を参考

●↓Emacs

6.Emacsを再起動

上記のS式の末尾で C-x C-e でもいいけど、Emacs再起動の方が問題が分かり易いでしょう

7.おそらく以下のエラーが出るはず。

※インターネットに接続している状態で確認してください
Could not create connection to www.emacswiki.org:443

●↓ターミナル

8.以下の記事を参考にして対応するんだけど・・・・きっとエラー発生します。

8−1.brew update

これは問題無いはず。

8−2.brew upgrade openssl

これも問題無いはず。
Errorが出ても『Error: openssl 1.0.2f already installed』ならOK。

8−3.sudo mv /usr/bin/openssl /usr/bin/openssl.0.9.8zg

El Capitanの場合、おそらくこれでエラーになるはず。
『Operation not permitted』が発生すると思います。
どうもEl Capitanから採用された機能でRootlessとか言うらしい。
rootユーザーなのに『/usr/bin/』を変更したらアカンらしい。
Windowsもそんな感じでややこしい事になってるけど、ホンマ便利は不便やわ。

で、Rootlessを解除します。

●↓リカバリーモード

8−3−a.Macをシャットダウン

8−3−b.『Command + R』を押しながらMacをリカバリーモード起動

リカバリーモードの起動はちょっと時間かかります。

●↓リカバリーモード/ターミナル

8−3−c.メニュー -> ユーティリティ -> ターミナル

8−3−d.csrutil status のコマンドを打つ

status が enable になっているはず

8−3−e.csrutil disable のコマンドを打つ

Successfully と出ればOK

●↓通常モード

8−3−f.Macを再起動(通常モードでの起動)

●↓通常モード/ターミナル

8−3−g.ターミナルで csrutil status のコマンドを打つ

status が disable になっているはず

8−3−h.『8−3.』のmvコマンド実行

エラーは出ないはず

8−4.brew link openssl –force

『/usr/local/include/』『/usr/local/lib/』で書き込み権限が無いというエラーが発生するかも。
権限が無くてもsudoを付けて実行してはいけません。
卑怯(cowardly)っていうメッセージが出てきます(笑)

エラーが発生した場合、chmodコマンドで権限を付与してください。
以下は一例。

8−5.sudo ln -s /usr/local/bin/openssl /usr/bin/openssl

・・・と、ここまでやれば、Emacsを起動してもemacswiki.orgに接続できないというエラーは出ないと思います。

 

参考サイト

以下の記事を参考にさせて頂きました。
ありがとうございました。

 

 

参考書籍


7 件のコメント

  • 有益な記事をありがとうございます。
    Windowsの場合は、これどうしたらいいのでしょう???

    • kamuycikapさん

      WindowsのEmacs + auto-installでも『Could not create connection to http://www.emacswiki.org:443』が発生しているということでしょうか?

      Windowsの方のEmacsにはauto-installを入れていないものですから、今はよく分かりません。
      ちょっと調べてみますね。

      (追記)
      ・・・・↑というように書きましたが、WindowsのEmacsを見たらauto-install入れていました。
      特に443のエラーは出ていません。

      kamuycikapさんは443のエラーが出ているのでしょうか?

      • コメントありがとうございます。
        はい。
        私のNTEmacsではエラーが出ております。
        ※LinuxのEmacsでも同じauto-instalの設定を書いているのですが、Windows側のみエラーになります

        私がセットアップしたNTEmacsは下記の通りです。

        ■バージョン
        http://cha.la.coocan.jp/doc/NTEmacs.html#sec-5-2
        こちらの、「24.5簡易IME対応版」です。

        —- ここから
        For information about GNU Emacs and the GNU system, type C-h C-a.
        Opening TLS connection to www.emacswiki.org'...
        Opening TLS connection with
        gnutls-cli –insecure -p 443 http://www.emacswiki.org‘…failed
        Opening TLS connection with gnutls-cli --insecure -p 443 www.emacswiki.org --protocols ssl3'...failed
        Opening TLS connection with
        openssl s_client -connect http://www.emacswiki.org:443 -no_ssl2 -ign_eof’…failed
        Opening TLS connection to `www.emacswiki.org’…failed
        error in process filter: url-http: Could not create connection to http://www.emacswiki.org:443
        error in process filter: Could not create connection to http://www.emacswiki.org:443
        Mark set
        —— ここまで

        ちなみにですが、auto-installの設定はこのようにしております。
        元ネタは、「Emacs実践入門 ~思考を直感的にコード化し、開発を加速する」です。

        —- init.el抜粋 ここから
        ;; ===============================================
        ;; auto-install
        ;; rubikitchさんの拡張機能自動インストールシステム
        ;; M-x install-elisp RET
        ;; ElispのURLを入力するように促されるので、頑張って入力する。
        ;; 予め、Emacswikiで欲しいelispのURLを調べておく。
        ;; ※Emacs24からはEmacsLispPackageArchive「ELPA」が標準で搭載されているので、都合の良い方を使う
        ;; ELPA –> M-x list-package RET
        ;; ===============================================
        (when (require ‘auto-install nil t)
        (setq auto-install-directory “~/.emacs.d/elisp/”) ; インストールディレクトリを指定する
        (auto-install-update-emacswiki-package-name t) ; EmacsWikiに登録されているelispの名前を取得する
        (auto-install-compatibility-setup)) ; install-elispの関数を利用可能にする
        ;; auto-install — ends here

        —- init.el抜粋 ここまで

        • kamuycikapさん

          「24.5簡易IME対応版」を使うと確かに433エラー発生しました。
          原因は分かりません。
          解決策も分かりませんでした。
          ※ちなみに、お使いのWindowsは32bit版ですかね?
          ※Windowsのログインユーザーは管理者権限ありますか?

          週末に時間があれば見ておきますけど、解決するかどうかは分かりません。

          64bit版が使えるのであればですけど、コチラの方をお使いになってはいかがでしょうか?
          https://github.com/chuntaro/NTEmacs64
          https://gabekore.org/windows-emacs-beginner

          • kamuycikapさん

            お世話になります。

            ここ数日見れていません。
            ずっと気になっているんですけどね。

            ひとまずはエラー回避できるということで良かったですね。わざわざご連絡ありがとうございます。

            ちょっと気にはなりますが、コメントアウトしちゃっていいんですかね?
            また暇ができたら見てみたいと思います。

            お役に立てずすみません。

            今後とも当ブログをよろしくお願い致します。

          • お世話になります。
            結局アレコレ調べたのですが、解決には至りませんでした。
            パッケージを手動でダウンロードし、init.elに設定する方法でインストールを実施します。

            auto-installの433エラーを回避する方法は、こちらを参考にしました。
            http://d.hatena.ne.jp/shammer/20160212/p1

            この行をコメントアウトすることでエラーを回避しました。
            (auto-install-update-emacswiki-package-name t)

          • >「24.5簡易IME対応版」を使うと確かに433エラー発生しました。
            >原因は分かりません。
            >解決策も分かりませんでした。
            >※ちなみに、お使いのWindowsは32bit版ですかね?
            >※Windowsのログインユーザーは管理者権限ありますか?

            なんと・・・そうでしたか。
            お手数おかけいたしました。
            私が利用しているWindowsは32bit版なのです。
            Windowsのログインユーザーおよび管理者権限を持っています。

            英語サイトやらなにやら調査はしておりますが、原因がよくわからずおります。

            auto-installを利用せずにパッケージを入れればいいだけの話ではあると思うのですが、少し気持ち悪くて気になっております。

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    ABOUTこの記事をかいた人

    Windows/Mac/Linuxを使う現役システムエンジニア&プログラマ。オープン系・組み込み系・制御系・Webシステム系と幅広い案件に携わる。C言語やC#やJava等数多くのコンパイラ言語を経験したが、少し飽きてきたので、最近はRubyやPython、WordPressなどのWeb系を修得中。初心者向けのプログラミング教室も運営中。オンライン・対面・出張等でプログラミングをレッスンします。