Angstrom(unstable) + Debian/armel 5.0.2 lenny †必要パッケージ †太字のものを apt-get install しました. 依存パッケージをはっきりさせておこうと 思い、つられてインストールされたものも(...)に明記しました. (debootstrap による rootfs 構築直後の状態で実行しました。) build-essential (binutils bzip2 cpp cpp-4.3 dpkg-dev g++ g++-4.3 gcc gcc-4.3 libc6-dev libgmp3c2 libgomp1 libmpfr1ldbl libstdc++6-4.3-dev libtimedate-perl linux-libc-dev make patch perl perl-modules) libxaw7-dev (libice-dev libice6 libpthread-stubs0 libpthread-stubs0-dev libsm-dev libsm6 libx11-6 libx11-data libx11-dev libxau-dev libxau6 libxaw7 libxcb-xlib0 libxcb-xlib0-dev libxcb1 libxcb1-dev libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxmu-dev libxmu-headers libxmu6 libxpm-dev libxpm4 libxt-dev libxt6 x11-common x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev xtrans-dev) libtool (autotools-dev file libmagic1) zlib1g-dev libt1-dev (libt1-5) libmotif-dev (libmotif3 libxp6) x11proto-print-dev bison (m4) flex libncurses5-dev libpng12-dev (libpng12-0) libgd2-xpm-dev (libgd2-xpm libfreetype6-dev (libfreetype6) libfontconfig1-dev (defoma fontconfig-config libexpat1 libexpat1-dev libfontconfig1 libglib2.0-0 libpcre3 pkg-config ttf-dejavu ttf-dejavu-core ttf-dejavu-extra ucf) libfontconfig1-dev (defoma fontconfig-config libexpat1 libexpat1-dev libfontconfig1 libglib2.0-0 libpcre3 pkg-config ttf-dejavu ttf-dejavu-core ttf-dejavu-extra ucf) libjpeg62-dev (libjpeg62) ) nkf unzip ptexlive.cfg †texlive のコンパイルのオプション --with-system-ncurses --with-system-zlib --with-system-pnglib --with-system-gd --with-system-t1lib --without-xetex --without-xindy ptexlive.cfg ISO-DIR=/media/cf/texlive2008-20080822-iso conf_option --with-system-zlib conf_option --with-system-pnglib conf_option --with-system-gd conf_option --with-system-ncurses conf_option --with-system-t1lib conf_option --with-system-freetype conf_option --without-xindy conf_option --without-xetex conf_option --with-xdvi-x-toolkit=motif KANJI_CODE=UTF8 set -x LZMA="lzma -cd" TMP_PREFIX=`pwd`/build20090814N メッセージ †ここ最近、Linux、*BSD の ARM プロセッサ対応は、非常に充実したものになってきました。sharp の Linux Zaurus SL-C760 でも代替 OS として、Debian/armel が、Angstrom distribution の kernel と組み合わせて、動くのを知って、pTeXLive2008 にトライしてみました。なお、Angstrom distribution の助けを借りて(特にカーネル)Zaurus 上で Debian/armel は動いています。その意味で、「OS・バージョン」は「Angstrom(unstable) + Debian/armel lenny」としました. 結果ですが、コンパイル、テスト、インストール、すべてOK。ただし、xetex と xindy は コンパイル不能で、ギブアップ。(補注:xetex は、lenny の default の g++ 4.3 の (ARM-EABI 特有の) 不具合のようです。xindy は、TeXLive2008 の ソースディレクトリの utils/README にしたがって作業しましたが、ffcall のコンパイルが不可能で断念。Debian でも xindy、ffcall、clisp の armel 版は存在しない。参考:Debian Wiki ArmEabiProblems )。 インストール後の環境で、texenv-checker を実行し、その中のテストも``正常''終了。(ただし、gs の埋め込み制御がらみの warning はでる。縦組みは、ipafont(ttf)+gs(8.62 or 8.64)+gv、xpdf で句読点等の表示が変。しかし、これは ptexlive の範囲外と看做して、ここでは目をつぶるということでよいでしょうか。)その意味で、「成功」としました。 作業工程は、以下の 4 段階:(注意!:以下のやり方は、時間と手間がかかり過ぎます。土村さんがよりシンプルな別の方法を見つけてくださいました。下の 追記 20090927(重要) に追記しました。)
TeXLive2008 の iso image に同梱されているバイナリに、ARM 用のは、ありません。涙。なので、自前でコンパイルしなければなりませんでした。ここでの、ARM プロセッサの場合のように、iso image にバイナリが含まれていない環境でやってみようと思われる方の役に立つかもと思い詳しく書いてしまいました。 (長くなってしまいました、すみません) 以下、各項目毎の説明です。 1. TeXLive2008 iso の中身の調達 tl2008 のインストール (工程 3) にて、iso の中身を一寸いじる必要有。なので、別の linux 機にて、texlive2008-20080822.iso.lzma を解凍し、iso image の中身を ext3 にフォーマットした CompactFlash にまるごとコピー。その CompactFlash を zaurus の空いている CF-スロットに挿して、SD スロットの sdhc カード上に boot にしている debian から読めるようにしました。 2. TeXLive2008 のコンパイル 作業内容は、具体的には、以下の通り。なお、工程 1 で用意した CompactFlash は、/media/cf にマウントするものとし、tl2008 iso image の中身は、CompactFlash 内のディレクトリ texllive2008-20080822-iso/ 以下にあるものとします。 $ sudo mkdir /media/cf ; sudo mount -t ext3 /dev/hda1 /media/cf (工程 1 参照) $ sudo mkdir /media/cf/tl2008-build ; sudo chown 1000:1000 /media/cf/tl2008-build $ cd /media/cf/tl2008-build $ lzma -cd /media/cf/texlive2008-20080822-iso/texlive-20080816-source.tar.lzma | tar xf - $ cd texlive-20080816-source/ $ ./Build --with-system-ncurses --with-system-zlib --with-system-pnglib \ --with-system-gd --with-system-t1lib --without-xetex --without-xindy (補注:オプション多いので実際は bash スクリプトでやってます。) 3. TeXLive2008 のインストール 続いて、TeXLive2008 をインストールしました。pTeXLive2008 の Readme 通り、標準の「I」を選択しました。通常のインストールとの相違点は以下の 2 点でした。
補注:このトリックは、NetBSD/i386 (やはり、iso image にバイナリ無) にて、TeXLive のビルド、インストールを成功させている Jukka Salmi 氏の手記 および、その元になった mailing-list での議論 tex-live:2007-June/014008, tex-live:2007-June/014034 の辺りの真似をしました。これらは、tl2007 版の話ですが、強引に真似したところ、tl2008 版でも通用してしまっている(よう)です。
$ sudo mkdir -p /usr/local/texlive/2008/bin/armv5tel-linux/ $ sudo cp -a /media/cf/tl2008-build/texlive-20080816-source/inst/bin/armv5tel-unknown-linux-gnueabi/* \ /usr/local/texlive/2008/bin/armv5tel-linux $ cd /media/cf/tl2008-build/texlive-20080816-source/utils/lzma $ ./configure; make; make check $ sudo make install $ sudo cp -a /usr/local/bin/lzma /media/cf/texlive2008-20080822-iso/tlpkg/installer/lzma/lzma.armv5tel-linux $ sudo cp -a /usr/local/bin/lzmadec /media/cf/texlive2008-20080822-iso/tlpkg/installer/lzma/lzmadec.armv5tel-linux $ cd /media/cf/texlive2008-20080822-iso/ $ sudo install-tl -v -logfile LOGFILE (修正:lzma と lzmadec のコピー先の path に 「tlpkg」が抜けていました(3箇所)。さらに unknwon -> unknown(2箇所)。 修正しました。20090927) 4. pTeXLive の build, install これは、Readme の通りです。 謝辞:しかし、手のひらの上でこれだけの巨大なソフトウエア群が実装できてしまうのには、感動を覚えます。ハードウエアまで含めて、多くの方々の努力があったからこそ、実現できたわけです。関連する皆様、ありがとう、ございました。 蛇足: 追記 20090927(重要) 上に書いたやり方は、非常に手間と時間がかかります。(十数時間かかる バイナリのビルドを二回しなければならない。)下のコメント欄にある通り、土村さんがバイナリのビルドを一回で済ます方法を発見してくださいました: 一.TeXLive2008 iso の中身の調達 上述の 工程 1 と同じ作業をしました。 二.texmf/ texmf-dist/ tlpkg/ の手動インストール 工程 1 で用意した CompactFlash は、/media/cf にマウントするものとし、tl2008 iso image の中身は、CompactFlash 内のディレクトリ texllive2008-20080822-iso/ 以下にあるものとします。 下記の土村さんのコメント通り install-tl は使わずに、iso イメージ内の texmf/ texmf-dist/ tlpkg/ の 3 つのディレクトリを /usr/local/texlive/2008/ 以下にコピーしました。 $ sudo mkdir -p /usr/local/texlive/2008 $ sudo cp -a /media/cf/texllive2008-20080822-iso/texmf /usr/local/texlive/2008/ $ sudo cp -a /media/cf/texllive2008-20080822-iso/texmf-dist /usr/local/texlive/2008/ $ sudo cp -a /media/cf/texllive2008-20080822-iso/tlpkg /usr/local/texlive/2008/ 三.pTeXLive の build, install Readme の通り。 とまったくシンプルになります。土村さん、ありがとうございました。
|