アフィリエイト広告を利用しています

2022年01月03日

Emacs: Emacs HEAD のインストール

OpenBSD / Mac Pro に Emacs HEAD (現時点では Emacs29) のインストールを行った.

基本的な作業の流れは以下の通り:

$ ./autogen.sh
$ ./configure
$ make
# make install

いくつか引っ掛かった点をまとめておく.

● 環境変数 AUTOCONF_VERSION, AUTOMAKE_VERSION の設定

何もせずに

./autogen.sh

を実行すると

Checking for autoconf (need at least version 2.65) ... broken?

のようなメッセージが出力されてエラーになる.
これを回避するために autogen.sh を実行する前に環境変数 AUTOCONF_VERSION, AUTOMAKE_VERSION を設定しておく.

$ export AUTOCONF_VERSION="2.71"
$ export AUTOMAKE_VERSION="1.16"

これで autogen.sh が正常に実行されるようになる.

● makeinfo のバージョンが古い問題

./configure

を実行すると

configure: error: You do not seem to have makeinfo >= 4.13,
and your source tree does not seem to have pre-built manuals
in the 'info' directory.
Please install a suitable version of makeinfo.

のようなメッセージが出力されてエラーになる.
つまり, システムにインストールされている makeinfo (バージョン 4.8) が古く, バージョンは 4.13 以上でなければならないと言っている.

makeinfo は Texinfo ドキュメントを HTML など様々なフォーマットのドキュメントに変換するプログラムである.
Texinfo プログラムに含まれる.

OpenBSD パッケージから texinfo をインストールしてみたのだが, なぜか makeinfo がインストールされない.
仕方が無いので Texinfo のサイト から最新版 6.8 のソースコードをダウンロードしてきてコンパイル, インストールを行った.

$ cd texinfo-6.8
$ make
# make install
# make TEXMF=/usr/local/share/texmf-dist install-tex

これで新しいバージョンの makeinfo が /usr/local/bin にインストールされる.

$ /usr/local/bin/makeinfo --version
texi2any (GNU texinfo) 6.8
. . . .

configure スクリプトも正常に実行される.

make, make install もひとまず成功して Emacs29 の実行モジュールができる.

ただしまだ Emacs の設定が残っている.

● EIEIO の明示的ロード

etc/NEWS に

** Support for old EIEIO functions is not autoloaded any more.
You need an explicit (require 'eieio-compat) to use 'defmethod'
and 'defgeneric' (which have been made obsolete in Emacs-25 with
'cl-defmethod' and 'cl-defgeneric').
Similarly you might need to (require 'eieio-compat) before loading
files that were compiled with an old EIEIO (Emacs<25).

という記述がある.
Emacs Lisp で defmethod, defgeneric を使用するために init.el 内で明示的に

(require 'eieio-compat)

と指定する必要がある.

● 古いブラウザー変数の無効化

Emacs 起動時に

Symbol's value as variable is void: browse-url-mosaic-program
Symbol's value as variable is void: browse-url-galeon-program
Symbol's value as variable is void: browse-url-netscape-program

というエラーが出る.
これらのエラーは init.el 内に

(defvar browse-url-galeon-program nil)
(defvar browse-url-mosaic-program nil)
(defvar browse-url-netscape-program nil)

と記述しておくことで回避できる.

● Wanderlust のコンパイル

Emacs29 では ELPA からインストールした Wanderlust は動作しない. 起動時にエラーになる.

そこで開発バージョンの最新の Wanderlust をインストールする.

(1) ダウンロード

$ git clone https://github.com/wanderlust/apel.git
$ git clone https://github.com/wanderlust/flim.git
$ git clone https://github.com/wanderlust/semi.git
$ git clone https://github.com/wanderlust/wanderlust.git


(2) コンパイルとインストール
APEL, FLIM, SEMI, Wanderlust の順にインストールする.
以下, LISPDIR, VERSION_SPECIFIC_LISPDIR, PIXMAPDIR は個人の環境に応じて適切に設定を行う.

$ cd apel
$ make install LISPDIR=~/.emacs.d/lisp VERSION_SPECIFIC_LISPDIR=~/.emacs.d/lisp
$ cd ../flim
$ make install LISPDIR=~/.emacs.d/lisp
$ cd ../semi
$ make install LISPDIR=~/.emacs.d/lisp


(3) Wanderlust のコンパイル
WL-CFG ファイル内に以下の記述を追加してから行う.

(setq load-path (append
(list "~/.emacs.d/lisp/apel"
"~/.emacs.d/lisp/emu"
"~/.emacs.d/lisp/flim"
"~/.emacs.d/lisp/semi")))

Wanderlust をコンパイル・インストールする.

$ cd wanderlust
$ make install LISPDIR=~/.emacs.d/lisp PIXMAPDIR=~/.emacs.d/etc/wl/icons


これで Emacs HEAD (Emacs29) が Wanderlust を含めて動作するようになる.
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

この記事へのトラックバックURL
https://fanblogs.jp/tb/11188662

この記事へのトラックバック
ファン
検索
<< 2024年12月 >>
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
最新記事
最新コメント
眼科の定期検査 〜 散歩 by コトタマ (02/15)
眼科の定期検査 by 三文字寄れば文殊のヒフミヨ (09/21)
本を読んで過ごす by 底彦 (12/13)
本を読んで過ごす by ねこ (12/12)
数学の計算をする by 底彦 (12/04)
タグクラウド
カテゴリアーカイブ
仕事(59)
社会復帰(22)
(44)
コンピューター(211)
(1463)
借金(8)
勉強(13)
(13)
数学(97)
運動(8)
日常生活(1407)
(204)
健康(38)
読書(21)
プロフィール

ブログランキング・にほんブログ村へ
にほんブログ村
にほんブログ村 メンタルヘルスブログ うつ病(鬱病)へ
にほんブログ村
にほんブログ村 科学ブログ 数学へ
にほんブログ村
にほんブログ村 IT技術ブログ プログラム・プログラマーへ
にほんブログ村