ハマったけど、意外に日本語のあんちょこが無かったのでメモ。
まず、依存関係の解決は
# apt-get build-dep emacs23
で、全部解決してくれる。
その後、GNUのルーチンというか色々なところの紹介通りに”./configure && make”をやると
$ ./configure $ make (中略) In toplevel form: quail/CCDOSPY.el:118:1:Error: Memory exhausted--use C-x s then exit and restart Emacs
とコンパイルエラーが起こります。ちなみに、”make bootstrap”だとthai-word.elで同じエラーで止まります。
エラーそのままに受け取ると、メモリー不足、emacsが異常メモリーを食いつぶしたよと言うように受け取れるんですが、インストールのためのelispのバイトコンパイルごときでそんな物が出るようじゃ困るわけで…。しかも、そんなに困ってる人が居ない雰囲気。
何が起きてる物かと思ったら、どうやらmalloc()-free()関連のセキュリティチェックに引っかかってるとのこと。
環境変数 MALLOC_CHECK_ が設定されている影響が出ているとのことなので、
$ MALLOC_CHECK_=0 make
とするとエラーが出ずにコンパイルに成功します。どうやら、MALLOC_CHECK_自体が設定されていないとMALLOC_CHECK_=3がデフォルト値となるようです…
参考リンク
PA ISEC セキュア・プログラミング講座:C/C++言語編 第10章 著名な脆弱性対策:バッファオーバーフロー: #4 あふれを検出するデバッグ:
コメント