Posted by & filed under diary, server, unix.


今日の集中講義の時間中,

リモートでTeXのコンパイルができたら便利じゃん!

と思って,授業中に構想を練り,バイトから帰ってきて作ってみようかと思ったら,サーバー機の方に肝心のTeXをインストールしていなかった.

まあ,これに関してはaptで問題なくインストール.

# apt-get install platex

 

次に,ただdviで出力するだけでは不便だということで,dvipdfmxでpdf出力もできるようにしようと考えていたので,これもインストール.

# apt-get install dvipdfmx

 

その後,ちょっとセキュリティ関係の設定(上位ディレクトリにアクセスできなくするとか)を変えた後,適当なファイルでコンパイルしてみると,platexの方は問題なくいくが,dvipdfmxがなんかエラーを吐く.

…ここからが長かったorz

 

 

まずはじめに出てきたエラー文は

** ERROR ** Could not find encoding file “H”.

これは以下のサイト通りにやってみた.

http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Linux%2FDebian#content_1_9

 

次は,

** WARNING ** Could not open config file “fontmapsx”.

これに関してはptex-jisfontsを入れて,jisftconfig addを実行すれば直った.

# apt-get install ptex-jisfonts
# jisftconfig add

 

が,ここで

[1*** stack smashing detected ***: dvipdfmx terminated

のメッセージの後メモリダンプをずらーっと吐くように…

ググってみると,Ubuntuのフォーラムでちょうど発見.

9.04でのdvipdfmx – Ubuntu日本語フォーラム

Via: Ubuntu日本語フォーラム

どうもUbuntuを最新版の9.04にアップデートすると問題が発生するっぽい.

ソースのバグで,バッファオーバーランが発生しているようで,該当部分のソースを書き換えることで回避できるらしい.

ということで,本家サイトから最新のソースをダウンロードしてくる.

$ cvs -d:pserver:[email protected]:/home/cvsroot login
$ cvs -d:pserver:[email protected]:/home/cvsroot co dvipdfmx

該当ソースは./src/cmap_read.cらしいけど…みてみると最新のソースではもう改善されている模様.Ubuntuのパッケージの更新が遅いだけなのね…

ということで,そのままコンパイル.

$ ./configure

ここでなんかまたエラーw

今度はlibkpathsea.aが見つからないみたいなのでインストール.

# apt-get install libkpathsea-dev

今度こそ,

$ ./configure
$ make
# make install

これで完了.

 

試しに適当なdviファイルを変換してみると,問題なく変換できた.

 

問題は解決したが…なんかもうこれだけで疲れてしまったので今日はここでおしまい.

リモートコンパイラ本体の方は,また明日作ることにする.

Leave a Reply

  • (will not be published)