Cygwin †
- ページ: 動作報告
- 投稿者: kuroky?
- 状態: 完了
- ptetexバージョン:20060330
- 投稿日: 2006-04-29 (土) 02:05:51
必要パッケージ †
my_option †
メッセージ †
$TEXMFSYSVAR/fonts/map/dvipdfm/updmap/dvipdfm_dl14.map,
dvipdfm_ndl14.map, kanjix.map
の生成が,ptetex-20060210 cygwin 用バイナリ と ptetex-20060330 cygwin 用バイナリの間で異なり,特定の環境下
では,上記 3 ファイルの新旧で動作/不動作の違いが出るようです.
udpmap がうまく動いていないのでしょうか?
この間,バイナリ作成者 (自身) の cygwin 環境において,cygwin パッケージの更新を行い,studio.h の getline() トラブルの影響が考えられるので,原因追求が難しいこともありますが,なにか御存じの方がいらっしゃいましたら,コメントをよろしくお願いします.
- /usr/local/teTeX/share/texmf-var/web2c/updmap.log で,
!!! ERROR! The map file `cid-x.map' has not been found at all.
が出力されていることは関係ありますでしょうか?
20060210 では同じところで
updmap: using map file `/usr/local/teTeX/share/texmf/fonts/map/dvipdfm/cid-x.map'
と出力されています.そうは言っても updmap.cfg で ptex-noEmbed.map あたりは見えているのに・・・ -- kuroky?
- アップグレード後に rml などのエントリが kanjix.map から消滅したということでしょうか。
それとも新旧の環境二つが別のマシンにあるのでしょうか。
ログの cid-x.map のエラーは気にしないで下さい。
(出力されているとは気づいてませんでした。出さないようにしておきます。) -- 土村?
- 「> アップグレード後に rml などのエントリが kanjix.map から消滅したということでしょうか。」
はい.そのとおりです.ネットインストールするときには,
updmap-sys --nostop 2>/dev/null
を展開後に自動で回すようにしていまして,(Cygwin 用バイナリ) 20060210-1 と 20060427-1 では,前者は kanjix.map だけちゃんと作られていますが,後者は空 (コメント 3 行のみ) です; dvipdfm_(n)dl14.map は前者後者とも,空 (コメント 3 行のみ) です.ファイルをいただいて確認しました.
自動でうまく回っていないのかと思い,20060427-1 で,手動にて
updmap-sys --nostop 2>/dev/null
を回してもらったのですが,状況は変わらなかったようです.
「> それとも新旧の環境二つが別のマシンにあるのでしょうか。」
ネットインストールした古いヴァージョンを,ディレクトリごとリネームして避難して確認してくださっているようです. -- kuroky? ( typo 修正 (updmap => updmap-sys))
- 少し状況がわかってきました。
3月末に map ファイル名を変更したので、混乱があるのでしょう。
個人用の ~/.texmf-var, ~/.texmf-config が残っていて、悪さをしているのではないでしょうか。
kpsewhich -format=map ptex-noEmbed.map
kpsewhich -format=map kanjix.map
を実行してもらって、
/usr/share/texmf/fonts/map/dvipdfm/ptex-noEmbed.map
/usr/share/texmf-var/fonts/map/dvipdfm/updmap/kanjix.map
が出れば OK なはずです。
updmap-sys ではなく updmap を実行しているのでしょうか?単なる typo?
/dev/null にリダイレクトせず、メッセージをちゃんと読んでいただければ、何か分かると思います。
特に、生成されたファイルとサイズも表示されているはず。
個人用の ~/.texmf-var, ~/.texmf-config があれば、削除して下さい。
updmap-sys の前に mktexlsr も必須です。
updmap は、設定ファイルに変更がないときには、何もしないことがあります。
(どういうロジックかよく把握していません。)
無駄に $TEXMF/web2c/updmap.cfg を書き換えることも有効かもしれません。 -- 土村?
- 20060330 以降でトラブルが起きている者です.
kpsewhich -format=map ptex-noEmbed.map
kpsewhich -format=map kanjix.map
の実行結果は,
/usr/local/teTeX/share/texmf/fonts/map/dvipdfm/ptex-noEmbed.map
/usr/local/teTeX/share/texmf-var/fonts/map/dvipdfm/updmap/kanjix.map
となりました.
/.texmf-var, ~/.texmf-config はありませんでしたが,~/.texmf がありましたので一応避難させました.また,mktexlsr を行い,$TEXMF/web2c/updmap.cfg を無駄に書き換えても kanjix.map はうまく生成されませんでした.
updmap-sys の実行時メッセージを見ますと,
egrep: /usr/local/teTeX/share/texmf-config/web2c/updmap.cfg: No such file or directory
egrep: /c/DOCUME~1/(username)/LOCALS~1/Temp/updmap.nP1124/h: No such file or directory
と出ているのが気になります (username を伏せさせていただきました).updmap.cfg の方は,実際には上記の位置に存在しているのですが…./c/DOCUME~1/(username)/LOCALS~1/Temp は $TMP の値で,ここには上記ディレクトリはありませんでしたが代わりに updmap.VK2240 というディレクトリがありました. -- sugimura?
- updmap.cfg が見つからないというのは変ですね…。
$TMP には漢字のユーザ名が入っているとトラブルの元なので、
/tmp ぐらいを指したほうがよいのでしたっけ?
mktemp コマンドの動作も気になります。
mktemp -d "${TMP-/tmp}/hoge.XXXXXX"
を実行して "/tmp/hoge.w3sPpp" のように表示されて、本当にそのディレクトリがあるでしょうか。-- 土村?
- ユーザ名は 2 バイト文字ではないのですが,念のため
$ export TMP=/tmp
$ export TEMP=/tmp
としました.その後 updmap-sys を実行しても,やはり kanjix.map の生成はうまくいきませんでした.mktemp の方は,ご教示いただいたとおり実行したところ,表示されたとおりのディレクトリがちゃんと作られていました.-- sugimura?
- まったく不思議です。確かに、問題の起こった前後で updmap コマンドに私の改編が入っているので、バグを仕込んでしまった可能性はあるのですが、他の環境でそういう話を聞いたことはありません。同じパッケージを使っている人でも、うまく動いている場合もあるのですよね? -- 土村?
- 同じパッケージを使っている「人」というと sugimura さんのほかに報告はないのですが,バイナリパッケージをつくったマシンと違うマシンで試したときは,うまく動きました.
- 3.20060210-1 から 3.20060330-1 の間には,ptetex 側の変更のみならず,
- `cygwin' バイナリの更新
- (確証はないですが,おそらく) バイナリパッケージ作成マシンの変更
があって,バイナリ側での問題も考えられるので,問題の切り分けが難しくなっています.
- そこで,いま,ここ最近バイナリを作っていたマシンとは違うマシン (20060210-1 を作っていたマシン) でコンパイルしてみました.3.20060427-2 というヴァージョン表示のものがそれです.test 扱いにしてあるので,ヴァージョン番号を手で合わせてください. -- kuroky?
- なるほど、cygwin 環境の問題のような気もしてきました。
もし updmap コマンドの動作を逐一見るのであれば、updmap の2行目にでも "set -x" と書き加えてもらって "updmap-sys -q" を実行してみて下さい。
詳細な実行結果が得られます。(詳細すぎて読むのは大変かもしれません。) -- 土村?
- いまさっき 3.20060427-2 を作ったマシンで updmap-sys を実行したときの詳細ログを http://www.misojiro.t.u-tokyo.ac.jp/~kuroky/tex/ptetex-3.20060427-2-updmap-sys.log に置いておきました. -- kuroky?
- 20060427-2 を入れてみましたがやはりだめです.詳細ログは取りましたが,どこを見ればいいのかわからないものでhttp://melvy.hp.infoseek.co.jp/misc/ptetex-3.20060427-2-updmap-sys-trouble.log に置きます.とりあえず分量が kuroky さんの示されたものの 1/3 くらいしかありません.--sugimura?
- お二人の log を比較してみました。$TMP を正規化して diff をとりましたが、
egrep: /usr/local/teTeX/share/texmf-config/web2c/updmap.cfg: No such file or directory
が最初の違いで、やはりこれが致命的に思えます。
updmap.cfg は $TEXMF/web2c や $TEXMF-config/web2c, $TEXMF-dist/web2c にある可能性があるのですが、このうちのどこにあるでしょうか。
手元(Vine)では全部にあります。 -- 土村?
- バイナリ作成マシンの差異が原因という可能性はひとまずなさそうですね.~ http://www.misojiro.t.u-tokyo.ac.jp/~kuroky/tex/ptetex-3.20060427-2-updmap-sys.log.diff に「$TMP を正規化して diff をとり」をこちらでもやったものを置いておきました. -- kuroky?
- こちらの Cygwin でも,$TEXMF/web2c および $TEXMF-config/web2c, $TEXMF-dist/web2c のすべてに updmap.cfg があります.
ところで,
egrep '^MixedMap' /usr/local/teTeX/share/texmf-config/web2c/updmap.cfg
を手動で実行しても No such file or directory になります.ちょっと変えて試してみると
grep -E '^MixedMap' /usr/local/teTeX/share/texmf-config/web2c/updmap.cfg
ならば OK で,
MixedMap ttcmex.map
MixedMap bsr.map
MixedMap bsr-interpolated.map
MixedMap cs.map
MixedMap hoekwater.map
MixedMap pl.map
MixedMap ccpl.map
MixedMap eurosym.map
MixedMap vnr.map
と出てきます."grep -E = egrep" じゃなかったんでしょうか…? --sugimura?
- 原因が判明しました.PATH の先頭に
/c/meadow/bin
を入れていたため,Meadow の egrep が実行されてしまっていたのでした.これを PATH から取り除き,20060427-1 を入れたところ正常に入りました.ただ,PATH に /c/meadow/bin が入っていても,20060210-1 まではうまく入っていましたので,やはり変更の影響はあったのだと思います.
とにかく,お騒がせいたしました m(_ _)m. --sugimura?
- 解決できて何よりです。原因究明ありがとうございました。 -- 土村?
- 上に同じく,御協力に感謝いたします.土村さまにも長いことフォローをいただきまして,ありがとうございました.
コンパイル済パッケージ中の postinstall script で,texconfig-sys rehash や updmap-sys を回すときには,いままで書いていた
source /etc/profile.d/ptetex.sh (実体は export PATH=/usr/local/teTeX/bin:$PATH です) よりさらに前に
export PATH=/usr/bin:/bin:/usr/X11R6/bin
も書いておけばよさそうですね.一件落着. -- kuroky? ( 更新)
(業務連絡) updmap-sys を回し始めたのは 3.20051231-1 からなので,egrep 原因追求は頓挫です. -- kuroky?
- 私の手元にあるのは Meadow-2.10-1 で,これだと bin 以下に egrep, grep とも存在しません.
sugimura さんの環境では Meadow のヴァージョンが違う可能性が高いので・・・ひとまず調査はここまでというところです. -- kuroky?
- 私の Meadow は 3.00-dev です.egrep は,Netinstall では ispell パッケージによって導入されるようです. -- sugimura?
- Meadow 3.00-dev で ispell の Makefile を調べたところ,以下のように書いてあるので,egrep だけ独自コンパイルから拾ってくるようです.ということで,今回の場合に対処するだけならば,updmap において egrep を使わずに grep -E を使うように書き換えることで対処できるのでしょうが,Meadow が egrep ではなく grep を同梱するようになっては元も子もないので,ほかのディストリビューションの様子を見つつ,しばらく保留がいいのではないでしょうか.-- kuroky?
$(PREFIX)/bin/$(TARGET) :
cp -p $(PKG)/bin/ispell.exe $(PREFIX)/bin/
cp -p $(PKG)/bin/look.exe $(PREFIX)/bin/
cp -p $(PKG)/bin/egrep.exe $(PREFIX)/bin/
if test ! -d $(PREFIX)/packages/etc/ispell; then \
mkdir -p $(PREFIX)/packages/etc/ispell; fi
cp -p $(PKG)/dic/* $(PREFIX)/packages/etc/ispell/
touch $(PKG)
Meadow 3.00 の egrep は GNU grep 2.5 らしいです.http://www.meadowy.org/meadow/dists/3.00/packages/ispell-3.3.02-1-pkg.tar.bz2
が Meadow 3.00 の ispell のパッケージです.ispell が Netinstall でインストールできるか (setup.ini の記述によると) どうかは,ヴァージョンに依るようで,
Meadow のヴァージョン | ispell パッケージ |
1.15 | current: インストールしない, test: 3.2.06-1 |
2.00 | current: 3.2.06-3 |
2.10 | 項目さえコメントアウト: 表示されない |
3.00 | current: 3.3.02-1 |
といった具合です.(追記: )
- 詳細な情報ありがとうございます。
おっしゃるように、ptetex3 では手に余る問題のようですので、しばらく静観することにします。
Meadow の仕様が固まれば ./1check-archive.sh でのチェックも検討してみます。 -- 土村?