2014-10 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
2014-10-25
■ Emacs-24.4 on OSX Yosemiteのビルド手順詳細 [Emacs][OSX]
なんとかビルド出来ました。こりゃEmacs人口が減るわけだ。。
Emacs-24.3の頃からクラッシュする問題に悩まされていたんです。
loading...
そんな中見つけたのがMew-jaのこの情報。
素の Emacs は、Mac では不安定です。山本さんのパッチを当てて使うと、ほ
とんど落ちなくなります。
ftp://ftp.math.s.chiba-u.ac.jp/emacs/
--かず
そこで今回からこのパッチ(experimental/hackers-onlyパッチ)を使うことにしました。
Emacs24 のインストールと新機能 : 紹介マニア
インラインパッチ(IMEパッチ)は当たらなくなるので、ac-mozc.el +
mozc_emacs_helperを使うことにしました。というかインラインパッチの
最新はどこに。。
mozc-emacs-helperをインストールするhomebrewを書いた|Act as Professional
最終的なビルド手順はこちら。前述の紹介マニアのやり方ほぼそのままです。
$ curl -O http://ftp.gnu.org/pub/gnu/emacs/emacs-24.4.tar.xz
$ curl -O ftp://ftp.math.s.chiba-u.ac.jp/emacs/emacs-24.4-mac-5.0.tar.gz
$ tar xfJ emacs-24.4.tar.xz
$ tar xfz emacs-24.4-mac-5.0.tar.gz
$ cd emacs-24.4
$ patch -p 0 < ../emacs-24.4-mac-5.0/patch-mac
$ cp -r ../emacs-24.4-mac-5.0/mac mac
$ cp ../emacs-24.4-mac-5.0/src/* src
$ cp ../emacs-24.4-mac-5.0/lisp/term/mac-win.el lisp/term
$ cp nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns mac/Emacs.app/Contents/Resources/Emacs.icns
$ ./configure --with-mac --without-x
$ make
$ make GZIP_PROG='' install # *.elを圧縮したくないので
$ cp -r mac/Emacs.app ~/Applications
⌘キーとOptionキーが入れ替わってしまったので、下記設定を追加しました。
(setq mac-command-modifier 'super) (setq mac-option-modifier 'meta)
experimental/hackers-onlyパッチを当てると、emacsclientがなくなるの
で適当にコピーしました。
$ curl -O http://emacsformacosx.com/emacs-builds/Emacs-24.4-universal.dmg
$ open Emacs-24.4-universal.dmg
$ cp -r /Volumes/Emacs/Emacs.app/Contents/MacOS/bin-x86_64-10_9 ~/Applications/Emacs.app/Contents/MacOS/bin
$ umount /Volumes/Emacs
あと、libxml2絡みで無駄にハマったので、以下に残しておきます。
libxml2がらみでコンパイルエラーが発生
Homebrewでpkg-configを入れていると、configureがlibxml2のCFLAGSの判
別に失敗し、コンパイルエラーが発生する。
gcc -c -Demacs -I. -I. -I../lib -I./../lib -fconstant-cfstrings -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/local/Cellar/imagemagick/6.8.9-8/include/ImageMagick-6 -I/usr/include/libxml2 -MMD -MF deps/xml.d -MP -Wno-switch -Wno-tautological-constant-out-of-range-compare -Wno-pointer-sign -g3 -O2 xml.c
xml.c:23:10: fatal error: 'libxml/tree.h' file not found
#include <libxml/tree.h>
^
1 error generated.
make[1]: *** [xml.o] Error 1
make: *** [src] Error 2
configureの14922行目のこの行が原因。
LIBXML2_CFLAGS=`"$PKG_CONFIG" --cflags "libxml-2.0 > 2.6.17" 2>&5` &&
おまえか!
$ pkg-config --cflags "libxml-2.0 > 2.6.17"
-I/usr/include/libxml2
# => 存在しないディレクトリ
configure前に適切なCFLAGSをセットするか、configureに--without-xml2
オプションを付ければ良い。
今回は前者を採用した。libxml2は使いたかったので。
export CFLAGS=`xml2-config --cflags`
# => -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libxml2がセットされる
ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include /usr/include
していたが、Yosemiteで/usr/includeが存在してよいかは分からない。
ここまで書いてこんな記事を見つけた。
Mavericksにしたら/usr/includeが消失していた件 - とあるぼっちの生存報告
あれ、Mavericksもそうだったん?
`xcode-select --install`って今も必要なのかな?やってみるか。
/usr/includeが出来ました!/(^o^)\
結論: `xcode-select --install`していればハマらなかった。
2014-10 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
最終更新時間: 2014-10-26 18:56