MacBook Pro を手に入れ,ptexlive, e-pTeX をインストールした。epTeX-100420 は ptexlive に対応するとともに,ptexlive の懸案であった Babel 対応を付加してくれた。インストールは基本的に添付の文書: ptexlive の README,e-pTeX の INSTALL.txt を参照すればよいけれども,Mac OS X 10.6.3 Snow Leopard にインストールするに当たって,私がハマった点を中心にメモしておく。
ptexlive の 大前提 TeX Live 2009-20091107 の xz アーカイブから iso イメージを取り出す方法は,ptexlive 開発者・土村さんが ptexlive Wiki において懇切丁寧に書いてくださっている。Mac OS X での iso イメージのマウントは hdiutil mount texlive2009-20091107.iso とすればよい。どのデバイスにどのようなパスでマウントされたかが返される。このパスの install-tl を管理者権限で実行して,TeX Live を導入する。このパスは,あとで ptexlive の導入設定 ptexlive.cfg の ISO_DIR 変数に指定しておく。
ptexlive Wiki から ptexlive-20100322.tar.gz を,e-pTeX Wiki から eptex-100420.tar.bz2 と ptex-qtrip-100402.11.tar.gz を,ダウンロードし,同じ作業ディレクトリに格納し,ptex-qtrip- 以外をその場所で展開する。
私の場合,ptexlive 前提の nkf や libpng・zlib ライブラリ等を MacPorts でインストールした。Ports ではヘッダ,ライブラリ等が /opt/local 配下にインストールされるので,ptexlive.cfg においてライブラリ,ヘッダの場所を,次のように追加しておく必要があった。
CPPFLAGS="-I/opt/local/include -I/usr/local/include" LDFLAGS="-L/opt/local/lib -L/usr/local/lib" LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/opt/local/lib export CPPFLAGS LDFLAGS LD_LIBRARY_PATH
いちばんハマったのが,autoconf,automake,m4 のバージョンである。それぞれ 2.63 以上,1.11 以上,1.4.4 以上であることを --version オプションで確認し,それ未満ならアップデートしておく。ここは普段軽く扱ってしまうところだけど,e-pTeX の開発者・北川さんがきちんと書いてくれているとおりにしないと,eptex のコンパイルがすっとばされてしまうので注意。
もうひとつ Snow Leopard への導入で大事なのは,プレインストールされている sed ではなく,GNU sed を追加インストールして,こちらを使うこと。そうでないと,e-pTeX の configure スクリプトのパッチがうまく当たらず,エラー終了してしまう。
これらの点で引っ掛かったけれども,そのあとは手順どおり以下を実行すれば完了した。
$ cd ptexlive-20100322 $ make stage2 $ cd ../eptex-100420 $ ./0eptex.sh $ ./6babel.sh $ cd ../ptexlive-20100322 $ make fonty test $ sudo make install distclean $ hdutil eject /dev/diskX → TeX Live iso イメージのデマウント。X はマウント時に表示された番号。
このタイミングで実行パスを ptexlive, texlive のバイナリディレクトリに通しておく。
最後に ptexlive 旧版で構築したローカルツリー(texmf-local)のバックアップがあれば,これを新 ptexlive に展開し,そこにあるフォントマップを改めて登録しておく。
$ su -m # cd /usr/local/texlive # tar zxvf $where/texmf-local-back.tar.gz # mktexlsr # cd texmf-local/fonts/map/dvips # for i in `find . -name "*.map" | xargs basename` > do updmap-sys --nomkmap --enable Map=$i; done # updmap-sys
最近の ptexlive では,texmf-local よりも配布ツリーが優先的に参照されるようになった。あるマクロの最新版を texmf-local ツリーに入れ,その旧版を配布ツリーに残したままにすると,予期しないトラブルに見舞われるので注意。
fmtutil-sys --byfmt eplatex などとして,UTF-8 ハイフネーションパターンもきちんとロードされるようになった(出力フォントが Unicode でもない TeX ハイフネーションパターンで UTF-8 にこだわるコントリビュータの考え方が,いまひとつ私には理解できていません。なんでもかんでも Unicode じゃないとダメという最近の風潮は Linux の悪い影響だと思う)。Babel ヘブライ語など,かつての ptexlive では処理できなかった右左書字方向言語も処理できるようになった。あとは upTeX が ptexlive に追従してくれるのを期待したい。
J
こんにちは。同様にコンパイルしてみたのですが,OSX10.6.4で,./0eptex.shのところで止まってしまいます。
ptexlive-20100322/build/texlive-20091011-source/Work/texk/web2c'
Making all in doc
../../../../texk/web2c/config.h:32:29: error: kpathsea/config.h: No such file or directory
などと出ています。どうもptexlive-20100322/build/texlive-20091011-source/WorkのなかがMakefileしかないみたいです。
ghostscriptやsed, ed, gawk, gpatchなど,macportsから入れています。
なにかアドバイスあればお教えください。
isao
エラーメッセージがないので判断が付きません。思い当たる節を書いておきます。
sed は GNU sed が入っていますか? m4, autoconf, automake は私が記したようなバージョンになっていますか? まずこれらをご確認ください。which sed などとして見ているプログラムのパスを確認し,絶対パスで --version オプションを指定してバージョン番号を確認してみてください。Mac OS のパス設定で古いプログラムが先きに動いてしまっている可能性がなきにしもあらずです。とくに macports で入れたプログラムは /opts/local/bin に入りますので,/opts/local/bin が /usr/bin, /usr/local/bin などよりも優先して観に行くように,.bash_profile のはじめのほうにパス情報を書いておかないといけません。
いろいろやってダメなら,LOG を添付して,私にメールしてもらってもかまいません。
J
こんばんは。やっとできました。
macportsから入れたautoconf2.67などがいけなかったようです(新しすぎる?)。autoconf, automake, sed, m4をホームディレクトリ以下に野良ビルドして,pathを通してから,x-pTeXをコンパイルするとうまくいきました。以下,手順です。お騒がせしてすみません。ありがとうございました。
OSX 10.6.4
~/binにgnu関係を野良ビルド:
autoconf-2.63
automake-1.11
m4-1.4.14
sed-4.2.1
macportsから:
ghostscript @8.71_5 (active)
ghostscript-fonts-hiragino @8.71_0+darwin_10 (active)
nkf @2.1.0_0 (active)
xz-devel @4.999.9beta_0 (active)
eptexとptexliveのバージョン:
eptex-100420-patch1.diff
eptex-100420.tar.bz2
ptex-qtrip-100710.tar.gz
ptexlive-20100711.tar.gz
ptexlive.cfgの中身:
TEXLIVE_VERSION=2009
ISO_DIR=/Volumes/TeXLive2009
TEXLIVE_DIR=/usr/local/texlive/2009
PREFIX=/usr/local/texlive/p2009
TMP_PREFIX=`pwd`/build
conf_option -C
make_option -j 3 # for 2 core
conf_option --without-x
conf_option --disable-xdvik
conf_option --disable-pxdvik
XDVI=echo
isao
よかった,よかった。eplatex いいっすよー。