マスタカネット > マスタカの ChangeLog メモ > 2014-10-25-1

マスタカの ChangeLog メモ / 2014-10-25-1

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

Prev / Next

2014-10-25

Emacs-24.4 on OSX Yosemiteのビルド手順詳細 [Emacs][OSX]

なんとかビルド出来ました。こりゃEmacs人口が減るわけだ。。

Emacs-24.3の頃からクラッシュする問題に悩まされていたんです。



そんな中見つけたのが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がセットされる


bug-gnu-emacs 18779では

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`していればハマらなかった。


Prev / Next

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