LoginSignup
3
2

More than 5 years have passed since last update.

GNU Emacs 25.1 for Windows の IPv6対応パッチ

Posted at

mingw32/MSYS2ビルドはデフォルトではIPv6未対応

Windows版のEmacsには様々なパッチと、パッチの数だけの多種のバイナリが配布されているが、本家のリファレンスである MSYS2 (64ビット)で構築したバイナリはIPv6が無効になっていて、(open-network-stream ...) 関数などでIPv4ソケットしか作れない。IPv6 only + NAT64環境で、elispアプリが使えないため気づいた。

本家のリファレンスのほか、mingw32/MSYS2環境でビルドされているほとんど大多数のWindows版EmacsバイナリではIPv6が使えない。

IPv6を有効化するパッチ

パッチのダウンロード: emacs-25.1-mingw32-ipv6.diff

変更点

  • ./configure が ws2_32.{lib,dll} にある getaddrinfo(), gai_strerror() を検出できないのでチェックルールを書き足す
  • Emacs for Windowsでソケット(WinSock2)関係の関数は ws2_32.dll から直接エントリポイントを読み取ってコールする作りになっているので該当処理を書き足す

その他の有用なパッチとビルド手順

実用的に使うためには、それぞれ欲しい機能を取り込んでビルドする必要があるが、よく知られたパッチとビルド手順はここで一通りまとめられている。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2