トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

Diary/2025-8-1

emacs-27.2

Ubuntu 24.04をインストールして以来,emacs-29.3を使いこなそうと頑張って,
いろいろと細かいところの違いは,ちょっとずつ設定をアップデートしていたのだけど,
lookupを使えないのがどうしても対応できず,
emacs-27.2をビルドしてインストール...負けた気分

sudo apt install libgtk-3-dev libgif-dev libxpm-dev libtls-dev gnutls-dev

でビルドに必要なライブラリをインストールして,

$ ./configure
$ make

と,コンパイルするも,

sysdep.c:1821:22: error: variably modified ‘sigsegv_stack’ at file scope
 1821 | static unsigned char sigsegv_stack[SIGSTKSZ];
      |                      ^~~~~~~~~~~~~
make[1]: *** [Makefile:406: sysdep.o] Error 1
make[1]: Leaving directory '/home/miyo/src/emacs-27.2/src'
make: *** [Makefile:424: src] Error 2

とエラーになってしまった.調べてみると,
https://lists.gnu.org/archive/html/bug-gnu-emacs/2021-10/msg01438.html
というのがあったので,

 /* Storage for the alternate signal stack.
    64 KiB is not too large for Emacs, and is large enough
    for all known platforms.  Smaller sizes may run into trouble.
    For example, libsigsegv 2.6 through 2.8 have a bug where some
    architectures use more than the Linux default of an 8 KiB alternate
    stack when deciding if a fault was caused by stack overflow.  */
 static max_align_t sigsegv_stack[(64 * 1024
                                   + sizeof (max_align_t) - 1)
                                  / sizeof (max_align_t)];

そのまま踏襲するとコンパイルができた.
一応パッチにして残しておく.
emacs-27.2-for-ubuntu-24.04.patch(2)