Cygwin上でのplatexコマンドエラーについて

Cygwin上でのplatexコマンドエラーについて

- 佐藤 圭介 の投稿
返信数: 8
Windows7にてCygwin環境を構築し、Texを利用していたのですが、ある日platexコマンドを打つと

$ platex a.tex
This is e-pTeX, Version 3.14159265-p3.7-160201-2.6 (utf8.euc) (TeX Live 2016/Cygwin) (preloaded format=platex)
restricted \write18 enabled.
---! /var/lib/texmf/web2c/eptex/platex.fmt doesn't match eptex.pool
(Fatal format file error; I'm stymied)

上記のように出てくるようになってしまいました。
色々と検索をかけて直す方法を調べたのですが、直すことができません。
どうすれば再び正常に動くようになるのでしょうか?

fmtutilコマンドを使用した結果は以下の様に出てきます。ただ、直りはしません。

$ fmtutil -byfmt platex
fmtutil: fmtutil is using the following fmtutil.cnf files (in precedence order):
fmtutil: /etc/texmf/web2c/fmtutil.cnf
fmtutil: /usr/share/texmf-dist/web2c/fmtutil.cnf
fmtutil: fmtutil is using the following fmtutil.cnf file for writing changes:
fmtutil: /cygdrive/c/Users/ksk/Documents/.config/texmf/web2c/fmtutil.cnf
fmtutil [INFO]: writing formats under /cygdrive/c/Users/ksk/Documents/.cache/texmf/web2c
fmtutil [INFO]: --- remaking platex with eptex
fmtutil: running `eptex -ini -jobname=platex -progname=platex *platex.ini' ...
This is e-pTeX, Version 3.14159265-p3.7-160201-2.6 (utf8.euc) (TeX Live 2016/Cygwin) (INITEX)
restricted \write18 enabled.
entering extended mode
(/usr/share/texmf-dist/tex/platex/config/platex.ini
<<< making "platex with Babel" format >>>
(/usr/share/texmf-dist/tex/platex/base/platex.ltx
(/usr/share/texmf-dist/tex/latex/base/latex.ltx
(/usr/share/texmf-dist/tex/latex/base/texsys.cfg)
./texsys.aux found


\@currdir set to: ./.


Assuming \openin and \input
have the same search path.


Defining UNIX/DOS style filename parser.

catcodes, registers, compatibility for TeX 2, parameters,
LaTeX2e <2016/03/31>
hacks, control, par, spacing, files, font encodings, lengths,
====================================

Local config file fonttext.cfg used

====================================
(/usr/share/texmf-dist/tex/latex/base/fonttext.cfg
(/usr/share/texmf-dist/tex/latex/base/fonttext.ltx
=== Don't modify this file, use a .cfg file instead ===

(/usr/share/texmf-dist/tex/latex/base/omlenc.def)
(/usr/share/texmf-dist/tex/latex/base/t1enc.def)
(/usr/share/texmf-dist/tex/latex/base/ot1enc.def)
(/usr/share/texmf-dist/tex/latex/base/omsenc.def)
(/usr/share/texmf-dist/tex/latex/base/t1cmr.fd)
(/usr/share/texmf-dist/tex/latex/base/ot1cmr.fd)
(/usr/share/texmf-dist/tex/latex/base/ot1cmss.fd)
(/usr/share/texmf-dist/tex/latex/base/ot1cmtt.fd)))
====================================

Local config file fontmath.cfg used

====================================
(/usr/share/texmf-dist/tex/latex/base/fontmath.cfg
(/usr/share/texmf-dist/tex/latex/base/fontmath.ltx
=== Don't modify this file, use a .cfg file instead ===

(/usr/share/texmf-dist/tex/latex/base/omlcmm.fd)
(/usr/share/texmf-dist/tex/latex/base/omscmsy.fd)
(/usr/share/texmf-dist/tex/latex/base/omxcmex.fd)
(/usr/share/texmf-dist/tex/latex/base/ucmr.fd)))
====================================

Local config file preload.cfg used

=====================================
(/usr/share/texmf-dist/tex/latex/base/preload.cfg
(/usr/share/texmf-dist/tex/latex/base/preload.ltx)) page nos., x-ref,
environments, center, verbatim, math definitions, boxes, title, sectioning,
contents, floats, footnotes, index, bibliography, output,
===========================================
Local configuration file hyphen.cfg used
===========================================
(/usr/share/texmf-dist/tex/generic/babel/hyphen.cfg
(/usr/share/texmf-dist/tex/generic/babel/switch.def)
(/usr/share/texmf-dist/tex/generic/hyphen/hyphen.tex)
(/usr/share/texmf-dist/tex/generic/hyphen/dumyhyph.tex)
(/usr/share/texmf-dist/tex/generic/hyphen/zerohyph.tex)
(/usr/share/texmf-dist/tex/generic/dehyph-exptl/dehypht-x-2014-05-21.tex
dehyph-exptl: using pTeX engine. Loading patterns provided by package hyph-utf8
.
(/usr/share/texmf-dist/tex/generic/hyph-utf8/patterns/ptex/hyph-de-1901.ec.tex)
) (/usr/share/texmf-dist/tex/generic/dehyph-exptl/dehyphn-x-2014-05-21.tex
dehyph-exptl: using pTeX engine. Loading patterns provided by package hyph-utf8
.
(/usr/share/texmf-dist/tex/generic/hyph-utf8/patterns/ptex/hyph-de-1996.ec.tex)
) (/usr/share/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-af.tex
EC Afrikaans hyphenation patterns
(/usr/share/texmf-dist/tex/generic/hyph-utf8/patterns/ptex/hyph-af.ec.tex))
(/usr/share/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-grc.tex
Hyphenation patterns for Ancient Greek
(/usr/share/texmf-dist/tex/generic/hyphen/grahyph5.tex
Hyphenation patterns for Ancient Greek))
(/usr/share/texmf-dist/tex/generic/hyphen/ibyhyph.tex
Greek hyphenation patterns for Ibycus encoding, v3.0)
(/usr/share/texmf-dist/tex/generic/hyphen/zerohyph.tex)
(/usr/share/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-hy.tex
No Armenian hyphenation patterns - only for Unicode engines)
(/usr/share/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-eu.tex
EC Basque hyphenation patterns
(/usr/share/texmf-dist/tex/generic/hyph-utf8/patterns/ptex/hyph-eu.ec.tex))
(/usr/share/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-bg.tex
T2A Bulgarian hyphenation patterns
(/usr/share/texmf-dist/tex/generic/hyph-utf8/patterns/ptex/hyph-bg.t2a.tex))
(/usr/share/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-ca.tex
EC Catalan hyphenation patterns
(/usr/share/texmf-dist/tex/generic/hyph-utf8/patterns/ptex/hyph-ca.ec.tex))
(/usr/share/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-zh-latn-pinyin.t
ex EC Hyphenation patterns for unaccented pinyin syllables (CJK 4.8.0)
(/usr/share/texmf-dist/tex/generic/hyph-utf8/patterns/ptex/hyph-zh-latn-pinyin.
ec.tex))
! I can't find file `loadhyph-cu.tex'.
<to be read again>
\relax
l.185 \repeat

(Press Enter to retry, or Control-D to exit)
Please type another input file name:
! Emergency stop.
<to be read again>
\relax
l.185 \repeat

No pages of output.
Transcript written on platex.log.
fmtutil [ERROR]: running `eptex -ini -jobname=platex -progname=platex *platex.ini </dev/null' return status 1
fmtutil [ERROR]: `eptex -ini -jobname=platex -progname=platex *platex.ini </dev/null' failed (no platex.fmt)
fmtutil [INFO]: Disabled formats: 7
fmtutil [INFO]: Not selected formats: 45
fmtutil [INFO]: Failed to build: 1 (eptex/platex)
fmtutil [INFO]: Total formats: 53
fmtutil [INFO]: exiting with status 0
佐藤 圭介 への返信

Re: Cygwin上でのplatexコマンドエラーについて

- aminophen の投稿
> fmtutilコマンドを使用した結果は以下の様に出てきます。
> ただ、直りはしません。

! I can't find file `loadhyph-cu.tex'.

というエラーが出なくならないようにしないかぎり直らないと思います。
loadhyph-cu.tex は5か月前に TeX Live に追加されたファイルですから
最新のインストールなら入っていないとおかしいのですが。
tlmgr で更新してみるとどうなるでしょう。
aminophen への返信

Re: Cygwin上でのplatexコマンドエラーについて

- 佐藤 圭介 の投稿
アドバイスありがとうございます。
tlmgrを利用すると

$ tlmgr update --self --all
tlmgr: action not allowed in system mode on Cygwin: update

と出てきます。
これはCygwinのsetupを利用してTexを導入したためでしょうか?
もし違うのであれば、どうすればよいか教えていただけると幸いです。
佐藤 圭介 への返信

Re: Cygwin上でのplatexコマンドエラーについて

- aminophen の投稿
> Cygwinのsetupを利用してTexを導入したためでしょうか?

なるほど「TeX Live 公式パッケージ」(install-tl 使用)ではなく
Cygwin がパッケージングした TeX Live/Cygwin を使用しているわけですね。
これはやったことがないので私はよくわかりません。
(tlmgr が使えるのかどうか、とかすら知らない。)

この点については、どなたかわかる方お願いします。

さて、エラーを回避したければ
「loadhyph-cu.tex」をググって取ってきてもよいわけですよね。

http://tug.ctan.org/tex-archive/language/hyph-utf8/tex/generic/hyph-utf8/loadhyph/

等が見つかります。これを TEXMFLOCAL 以下の適切な場所に置いて
mktexlsr
を実行すれば見つけてくれると思います。

# Cygwin が「たまたま」パッケージングし損ねていて、
# 必要な loadhyph-cu.tex を入れ損ねている、
# ということなのかもしれませんが、
# これは platex に限らず latex でも必要なので
# 「気づかない」ことはありえない気がするし…原因はよくわからない。
aminophen への返信

Re: Cygwin上でのplatexコマンドエラーについて

- KUROKI Yusuke の投稿
Cygwinのパッケージ管理で揃えられたのなら,tlmgrされないほうがよく,ただしい振舞いをしていますね.
CygwinのTeX Liveパッケージングは,よほどの Bug fix 以外は,最新のTeX Liveツリーには追随しないようです.

TeX Live2016リリース時点で入っていたファイルは存在するはずですが,そうでなければパッケージングされていないだろうと思われます.
aminophen への返信

Re: Cygwin上でのplatexコマンドエラーについて

- 佐藤 圭介 の投稿
ありがとうございます。
必要なファイルをDLし、TEXMFLOCALというフォルダは見当たらなかったのでtexmfというフォルダへと入れ、mktexlsrを実行しました。
以下が実行結果です。

$ mktexlsr
mktexlsr: /etc/texmf/ls-R: no write permission, skipping...
mktexlsr: /usr/share/texmf-dist/ls-R: no write permission, skipping...
mktexlsr: /usr/share/texmf-site/ls-R: no write permission, skipping...
mktexlsr: /var/lib/texmf/ls-R: no write permission, skipping...
mktexlsr: Done.

もうこれはCygwinから入れたTexをアンインストールし、市から入れないとだめでしょうか?
佐藤 圭介 への返信

Re: Cygwin上でのplatexコマンドエラーについて

- aminophen の投稿
mktexlsr を実行したら書き込み権限がないと言われる現象は
私は Cygwin よくわからないのでパスです。

でも、もし今 texmf に入れていただいたものが TeX から見つかる
状態になっていれば、もう一回 fmtutil を実行すると直るかもです。
もしまだ見つけてもらえないようならば、そのファイルを置いている
ディレクトリに cd で移動してから fmtutil を実行すれば、
見つけてもらえるかもしれません。

要は「例のファイルが見つかる状態で fmtutil を実行すれば解決」なので
それを目指してください。

余談:
先に指摘した通り当該ファイルは 5 ヶ月前に TeX Live に入っているので、
6 月にリリースされた TeX Live 2016 がパッケージングされているならば
入っていないはずはないのですが、何かの手違いがあったのだろうか?
佐藤 圭介 への返信

Re: Cygwin上でのplatexコマンドエラーについて

- Akira Kakuto の投稿
sudo mktexlsr
じゃないですか。
Akira Kakuto への返信

Re: Cygwin上でのplatexコマンドエラーについて

- KUROKI Yusuke の投稿
いや,sudo コマンドは Cygwin には存在しないです.

Cygwin Bash Shell など,Cygwin 用のコマンドラインソフトを立ち上げるときに,「管理者として実行」で開いて作業するとどうでしょうか?