OpenSolaris 2008.05 †必要パッケージ †pkg install gcc-dev pkg install FSWxorg-headers pkg set-authority -O http://pkg.sunfreeware.com:9000 sunfreeware pkg refresh pkg install IPSFWxaw3d ptexlive.cfg †ISO_DIR=/mnt conf_option --with-xdvi-x-toolkit=xaw3d export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/sfw/lib メッセージ †2008/06/28 メモ ptexlive ( ptexlive-20080619.tar.gz ) / OpenSolaris 2008.05 (x86) 概要 OpenSolaris 2008.05 (x86) にて ptexlive の make、日本語 tex ファイルの platex, pxdvi, pdvips 処理と PS プリンタへの lpr 出力をしてみました。(システムの勉強になります。) なお、OpenSolaris 2008.05 と Solaris 10 x86 2008/05 (free) は別のシステムです。 http://www.sun.com/software/solaris/index.jsp http://sdc.sun.co.jp/solaris/index.html http://sdc.sun.co.jp/opensolaris/ http://jp.sun.com/products/software/solaris/10/get.html 以下は前者へのインストールの試みです。後者については 動作報告/19 があります。 作業内容 1. OpenSolaris 2008.05 のインストール http://sdc.sun.co.jp/opensolaris/ http://jp.opensolaris.org/ Live CD が正常に起動するとシステムのインストールは単純です。 ネットワークの設定は DHCP による自動設定になっています。固定アドレスの指定はネットワーク管理デーモン nwamd を停止して行ないます。 http://sdc.sun.co.jp/opensolaris/docs/nwam.html ネットワークの設定をしたのに接続が思わしくない場合は /etc/nsswitch.conf ファイルの hosts, ipnodes 項目に dns が書き込まれているかどうかを点検して下さい。 passwd: files group: files hosts: files dns ipnodes: files dns networks: files protocols: files rpc: files ethers: files netmasks: files bootparams: files publickey: files .... 2.開発環境の package を追加 OpenSolaris には gcc 関係のパッケージと sunstudio 関係のパッケージが用意されていますが、最初はどちらも未インストールの状態です。ネットワーク接続が完了していると、次のコマンド入力で簡単に gmake, gcc, autoconf, automake, flex 等が入ります。xorg の headers も補います。 pkg install gcc-dev pkg install FSWxorg-headers 3.この先が問題 x toolkit 関係 (Xaw, Xaw3d, motif, ... ) がみあたりません。 LessTif, openmotif をインストールしてみましたが ptexlive の make で失敗しました。 どこかに原因はあるのでしょうが、とりあえずは動作さえすればよいということで、代案に切り替えて前進します。以下のように sun freeware (OpenSolaris 対応版) から Xaw3d を入れてみることにしました。 http://www.sunfreeware.com/indiana.html ここではつぎのコマンドでリポジトリの追加と IPSFWxaw3d パッケージのインストールをします。 pkg set-authority -O http://pkg.sunfreeware.com:9000 sunfreeware pkg refresh pkg install IPSFWxaw3d ※ -O は オー です。pkg 設定に関連するファイルは /var/pkg/ の下をみて下さい。 4. ptexlive のインストール http://tutimura.ath.cx/ptexlive/ 変更点 (1) texlive2007.iso ファイルを mount lofiadm -a /tmp/texlive2007-live-20070212.iso mount -F hsfs -r /dev/lofi/1 /mnt (2) ptexlive.sample.en を ptexlive.cfg にコピーして必要箇所を変更する。 ISO_DIR=/mnt conf_option --with-xdvi-x-toolkit=xaw3d # CPPFLAGS="-I/opt/sfw/include/X11/Xaw3d" LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/sfw/lib export LDFLAGS CPPFLAGS LD_LIBRARY_PATH (3) CPPFLAGS を具体的に指定しても xdvi の make の際にどうしても /usr/include/X11/Xaw をみようとします。気が進まなかったのですが、ここでゴマカシのリンクを張りました。 cd /usr/include/X11 ln -s /opt/sfw/include/X11/Xaw3d Xaw3d ln -s Xaw3d Xaw すなわち /usr/include/X11/Xaw3d -> /opt/sfw/include/X11/Xaw3d /usr/include/X11/Xaw -> /usr/include/X11/Xaw3d とする。(本当は慎重な対処方法はどうすればよいでしょう。) (4) コンパイル中に多少の警告が発生しますが、test の前までは make が進みます。しかし、テストの段階になるとつぎのエラーで停止します。 finishing... `which bash` ./8test.sh ------------------------------------------------------------------------ [reading] ./ptexlive.cfg ----------------------------- [latex] test ----------------------------- [platex yoko] test ----------------------------- [platex tate] test ----------------------------- [UTF package] test Can't find the font file /usr/openwin/lib/locale/ja/X11/fonts/TT/hgmlsun.ttf Error: /undefinedfilename in findfont ... 中略 ... ESP Ghostscript 815.01: Unrecoverable error, exit code 1 ----------------------------- [-dNOKANJI] test Can't find the font file /usr/openwin/lib/locale/ja/X11/fonts/TT/hgmlsun.ttf Error: /undefinedfilename in findfont ... 中略 ... Current allocation mode is local Last OS error: 2 Current file position is 267 /var/tmp/ptexlive/bin/dvipdfmx dNOKANJI.dvi dNOKANJI.dvi -> dNOKANJI.pdf [1Can't find the font file /usr/openwin/lib/locale/ja/X11/fonts/TT/hgmlsun.ttf Error: /undefinedfilename in findfont ... 中略 ... Current allocation mode is local Last OS error: 2 Current file position is 267 ESP Ghostscript 815.01: Unrecoverable error, exit code 1 ... 中略 ... ** ERROR ** pdf_ref_obj(): passed invalid object. Output file removed. make: *** [stage8] Error 1 (5) このシステムは Ghostscript の日本語化が不十分なのでしょうか。 OpenSolaris 2008.05 には少し古い gs が入っています。 $ /usr/sfw/bin/gs -h ESP Ghostscript 8.15.1 (2005-09-22) Copyright (C) 2004 artofcode LLC, Benicia, CA. All rights reserved. Usage: gs [switches] [file1.ps file2.ps ...] 調べてみると /usr/openwin -> /usr/X11 のリンクが張ってあります。 ディスク全体を検索しましたが hgmlsun.ttf ファイルはみつかりません。 gs がシステムフォント /usr/X11/lib/X11/fonts/TrueType/ipafont を使うようになっていないのがいけないのかと思って、/usr/share/ghostscript/8.15/lib/cidfmap の hgmlsun.ttf, hggbsun.ttf を ipam.ttf, ipag.ttf に変更してみました。しかし、それでも何故かエラー終了になります。 (多少の調整でこの gs が使えるとよいのですが、何か安直な対処方法はないでしょうか。) (6) 基本的に OpenSolaris の package のみで片付ける方針でしたが、良い方法がみつかりません。時間が過ぎてしまい、仕方なく GPL Ghostscript 8.62 を入れましました。 ソースファイルをダウンロードして、 ./configure; make; make install を行なう。 http://pages.cs.wisc.edu/~ghost/ http://aist.ring.gr.jp/archives/text/CTAN/support/ghostscript/GPL/ 新しい gs に PATH をとおす。 ( export PATH=/usr/local/bin:$PATH ) $ gs -h GPL Ghostscript 8.62 (2008-02-29) Copyright (C) 2008 Artifex Software, Inc. All rights reserved. Usage: gs [switches] [file1.ps file2.ps ...] フォントの指定はお好み次第でしょう。例えば、 /usr/local/share/ghostscript/8.62/lib/cidfmap ファイルの中につぎを追加します。 /IPAMincho << /FileType /TrueType /Path (/usr/X11/lib/X11/fonts/TrueType/ipafont/ipam.ttf) /SubfontID 0 /CSI [(Japan1) 6] >> ; /Ryumin-Light /IPAMincho ; /IPAGothic << /FileType /TrueType /Path (/usr/X11/lib/X11/fonts/TrueType/ipafont/ipag.ttf) /SubfontID 0 /CSI [(Japan1) 6] >> ; /GothicBBB-Medium /IPAGothic ; 参考 (Adobe フォント資料): http://www.adobe.com/devnet/font/ http://partners.adobe.com/public/developer/ps/sdk/index_archive.html#fon この設定を生かすためには、さらに GS_LIB=/usr/local/share/ghostscript/8.62/lib を与えなければなりませんでした。(もとの ghostscript 8.15 を残しているためかもしれません。) export GS_LIB=/usr/local/share/ghostscript/8.62/lib かなり手間取りましたが、概ねこの様にして ptexlive のインストールを終わります。 # make install `which bash` ./9realloc.sh install refresh ------------------------------------------------------------------------ [reading] ./ptexlive.cfg copying files '/var/tmp/ptexlive' -> '/usr/local/texlive' ... ------------------------------ 'ptexlive' was installed. for sh/bash user export PATH=/usr/local/texlive/bin:$PATH for csh/tcsh user setenv PATH /usr/local/texlive/bin:$PATH To uninstall make uninstall (or 'rm -rf /usr/local/texlive') ------------------------------ finishing ... (7) 最後に home ディレクトリの ~/.bashrc ファイルに export PATH=/usr/local/bin:/usr/local/texlive/bin:$PATH export MANPATH=/usr/local/share/man:/usr/local/texlive/man:$MANPATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/sfw/lib export GS_LIB=/usr/local/share/ghostscript/8.62/lib を追加します。 platex, pxdvi, pdvips, lpr, dvipdfmx を確認して完了と思ったのですが、 dvipdfm と ps2pdf がエラーを出ます。 $dvipdfm de1.dvi de1.dvi -> de1.pdf [1 TFM file error (ec < bc) Output file removed. $ps2pdf de1.ps Error: /invalidfileaccess in /findfont Operand stack: Operand stack: Fm 256 --nostringval-- --nostringval-- 0 95.8621 Ryumin-Light-H ... 中略 ... Current allocation mode is local Current file position is 74181 GPL Ghostscript 8.62: Unrecoverable error, exit code 1 もう少し Ghostscript の調整をしなければなりません。 ひととおりの見通しがついたら、新しい gs に PATH をとおした上で、再度 ptexlive の make と make install をするべきでしょう。 まとめ 今回使用した hardware は3年程前に販売されていたビジネス用の廉価パソコンです。 HP Compaq Business Desktop dx2000 ST/CT インテル Pentium 4 プロセッサ 2.80A GHz (1MB L2キャッシュ、533MHz FSB) インテル 865GVチップセット 80GB の内臓 HDD に 20GB の solaris パーティションを確保しました。 opensolaris のインストールが約60分、 ghostscript の make が約10分、 ptexlive の make が30分程度、 ptexlive の make install は約10分です。 その他にファイルのダウンロードと各種の調整に多くの時間がかかりました。 OpenSolaris 2008.05 は solaris x86 2008/05 (free) とは違います。少し触れてみると、 Solaris のような、 Linux のような、不思議な状態です。 単に TeX の処理環境を整えたいだけのユーザーにとっては、これでは手間がかかり過ぎるように思われます。 ptexlive のように簡単に片付くはずのインストールで、本当にこんなにいくつもの手間がかかるのであるならば、今の段階で一般のユーザーが無理をする必要はないでしょう。 開発者コミュニティの貢献により徐々に変更があるようですから、いずれは快適なシステム環境が整うことを期待して OpenSolaris のさらなる熟成を待つのがよいようです。 課題 1. TeX 関係の道具を追加、利用環境の向上 emacs, YaTeX, gnuplot, maxima, xmaxima, TeXmacs, ... 2. 微調整 (1) ゴマカシのリンクを減らす。 (2) Xaw3d 以外はどうか ( LessTif, openmotif, gtk, ... ) (3) ps2pdf の調整 3. 作業の簡素化、簡略化 手続きを整理して一括処理用のスクリプトの形にまとめる。 以上です。
|