【Windows/msys2】Emacs 26.1の64bit版をビルドする

スポンサーリンク
728×90 ビッグバナー

以前の記事で、Emacs 25.3をビルドして使う記事を紹介したが、2018/5/28にEmacs 26.1が公開された。そこで、msys2環境の64bit環境(mingw64)でEmacsを26.1をビルドし動かしたので備忘録を残す。

以前は、msys2のmingw32環境で動かしていたが、今回はmingw64の64bit環境で動かす。

GNU makeやコンパイラが動かせる環境を、Windows上にmsys2をインストールしてつくる。 Unixのbashライクなコマンドライ...
  • Emacs 26では「gnutls」パッケージが必要なようで、未インストールなら pacman -S mingw-w64-x86_64-gnutls でインストールしておく。

ソースファイルの入手

IMEパッチをあててビルドが必要なので、下記からソースとパッチファイルを入手。

http://ftp.gnu.org/gnu/emacs/
上記サイトから、emacs-26.1.tar.xz ファイルを取得

https://gist.github.com/rzl24ozi
上記サイトから、emacs-26.1-rc1-w32-ime.diff ファイルを取得

Emacsソースファイルの展開とIMEパッチの適用

msys2のコンソール(mingw64.exe)から、上記で入手した2つのファイルを任意のフォルダに置き、下記コマンドを実行。

$ tar xvf emacs-26.1.tar.xz
$ cd emacs-26.1/
$ patch.exe -p0 < ../emacs-26.1-rc1-w32-ime.diff

ビルド

autogen.shとconfigureの実行

$ ./autogen.sh
$ CFLAGS='-Ofast -march=x86-64 -mtune=corei7 -static' ./configure --without-dbus --without-compress-install --with-modules

makeの実行

$ make bootstrap

インストール(以前のバージョンがある場合はアンインストールしておく)

$ make install-strip

msys2の各環境binフォルダ(c:/msys64/mingw64/bin)にインストールされる。
案外素直にビルド出来た。

アンインストール

アンインストールしたい場合は、ビルドしたフォルダで下記コマンドを実行。

$ make uninstall

Emacsの起動

msys2のコンソールから、下記コマンドでバージョン確認できる。

$ emacs --version
GNU Emacs 26.1
Copyright (C) 2018 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GNU Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

Emacsの起動は

$ runemacs

尚、Emacsの終了は

C-x C-c

コマンドから抜けるには

C-g

Emacs初期設定ファイル(~/.emacs.d/

私の使っているEmacs初期設定ファイル一式(~/.emacs.d/)はGitHubに公開登録しGit管理しているので、それを下記コマンドでホームディレクトリにコピー。尚、macOS, msys2(Windows), Ubuntu(Linux)で共用。
Emacs 26.1でもそのまま利用できた。

$ git clone https://github.com/jr4qpv/dot.emacs.d.git ~/.emacs.d
これまで紹介してきた、私の使ってるEmacsの初期設定ファイル「~/.emacs.d/」をGitHub(下記URL)に公開した。macOS,...
Emacsはお世辞にも起動時間は早いとは言えない。特に、init-loaderを使って初期設定ファイルを機能分割してファイル数が増えてきたり...

cmigemoのインストール

ローマ字のまま日本語を検索できるように、cmigemoをmsys2にインストール。(下記記事参照)

前記事で、Emacs(macOS)での migemo の設定ついて紹介したが、msys2(Windows環境)のEmacsで、migemoイ...

不具合?

  • 私はATOK2017を利用しているが、Emacsを最初に起動した直後にIMEのOn/Offしようとして[半角/全角]キーを押すと「<enlw> is undefined」と表示されてIMEの切り換えができない。(Emacs25の時は大丈夫だった)
    調べてみると、Emacsのウインドウをマウスでドラッグして移動するとOKになる。根本原因はわからないが、とりあえずこれで使っていく事にする。何か対策がわかったら、また報告していきたい。

補足

  • ビルドは、マシン性能にもよるが1時間くらいかかる。
  • msys2では、emacsパッケージが利用できるが、試してみると私の環境では日本語入力が不便だったので、日本語IMEパッチをあててソースからビルドした。
  • 64bit版を常駐していても、emacsclientコマンドさえ実行できれば、mingw32環境からでも利用できる。
  • 64bit版の方が、32bit版に比べて体感できるくらい反応がよい。
  • 最初「configure: error: The following required libraries were not found: gnutls」のエラーがでたので、mingw-w64-x86_64-gnutlsパッケージをmsys2に追加インストールした。

参照記事

これまで紹介してきた、私の使ってるEmacsの初期設定ファイル「~/.emacs.d/」をGitHub(下記URL)に公開した。macOS,...
macOS, Windows(msys2), Ubuntu-Server/Desktopで共通操作性のエディターを目指して、「Emacs」環...
以前の記事で、Windows10のWSLでUbuntuが使えるようにした。そこで、Emacsエディターも動くようにしたので備忘録を残す。 ...

参考

  1. GNU Emacs – GNU Project
  2. GitHub – chuntaro/NTEmacs64
  3. NTEmacsでの「 is undefined」「 is undefined」には,Windows + Space
  4. misc:software:Emacs:IMEを有効にする
スポンサーリンク
レシポンシブ広告
レシポンシブ広告

シェアする

フォローする