Emacs HEAD のコンパイルとインストールを行う.
$ export AUTOCONF_VERSION="2.71"
$ export AUTOMAKE_VERSION="1.16"
$ ./autogen.sh
$ ./configure \
'CFLAGS=-I/usr/include -I/usr/X11R6/include -I/usr/local/include' \
'LDFLAGS=-L/usr/lib -L/usr/X11R6/lib -L/usr/local/lib -lgccjit' \
--prefix=/usr/local \
--mandir=/usr/local/share/man \
--infodir=/usr/local/info \
--with-x-toolkit=athena \
--with-imagemagick \
--with-xaw3d \
--with-x \
--without-xim \
--with-xpm=ifavailable \
--with-native-compilation
$ git pull
$ gmake bootstrap
ところが, elisp.info を生成する箇所でエラー
GEN ../../info/elisp.info
parsetexi/Parsetexi.c: loadable library and perl binaries are mismatched (got first handshake key 0xec00000, needed 0xeb80000)
が出力されてコンパイルが停止する.
gmake V=1 を実行して, 内部で走っているコマンドを調べたところ,
makeinfo --force --enable-encoding -I ./../emacs -I . --no-split -o ../../info/elisp.info elisp.texi
parsetexi/Parsetexi.c: loadable library and perl binaries are mismatched (got first handshake key 0xec00000, needed 0xeb80000)
となり, makeinfo でエラーになっている.
makeinfo は GNU Texinfo の一部で,
以前バージョンの問題が発生したためにパッケージからではなく Texinfo のソースから直接コンパイルしたものである.
その時インストールした Texinfo のモジュールがもう古くなっているのだろう.
Texinfo をあらためてソースからコンパイル・インストールする.
$ cd ~/src/texinfo
$ git pull
$ ./autogen.sh
$ ./configure --prefix=/usr/local --infodir=/usr/local/info --mandir=/usr/local/share/man
$ gmake
$ gmake check
# gmake install
その後, 再び Emacs HEAD のコンパイルを実行したところうまく行った.
$ gmake
$ gmake check
# gmake install