TeX Liveのセットアップ中にConfiguration file texmf.cnf not found!と出る件に関する疑問

TeX Liveのセットアップ中にConfiguration file texmf.cnf not found!と出る件に関する疑問

- 廣瀬 大和 の投稿
返信数: 10
Mac OS 10.11.1 El Capitanを使用しております。

TeXを導入しようと思い、TeX Wikiのこのページの記述にしたがってTeX Liveをセットアップしていたのですが、この中の

$sudo perl cjk-gs-integrate.pl --link-texmf --force

を実行した所、

warning: Configuration file texmf.cnf not found!

というものが表示されました。その後

Searched these directories:/usr/local/bin:/usr/local
:/usr:/usr/local/bin/share/texmf-local/web2c
:/usr/local/share/texmf-local/web2c:/usr/share/texmf-local/web2c
:/usr/local/bin/texmf-local/web2c:/usr/local/texmf-local/web2c
:/usr/texmf-local/web2c:/usr/local/bin/share/texmf/web2c
:/usr/local/share/texmf/web2c:/usr/share/texmf/web2c
:/usr/local/bin/texmf/web2c:/usr/local/texmf/web2c
:/usr/texmf/web2c:/.:/usr/local/share/texmf/web2c
:/usr/local/share/texmf/web2c

と続いております。
警告を見る限りではtexmf.cnfが存在しないという事ですが、検索をかけたところ

/usr/local/texlive/2015/texmf.cnf
/usr/local/texlive/2015/texmf-dist/web2c/texmf.cnf

にtexmf.cnfはそれぞれ存在しております。

この警告は無視して構わないのか、そもそもそれ以前の時点で何かがおかしいのか、どうすれば良いのかが分かりません。

ディレクトリなどを一度削除したのちに最初からやり直しを試みたり、警告文を調べたりしてみたのですが、同じ場所で同じ状況が発生します。

解決するための方法について、ご指導頂ければと思います。

廣瀬 大和 への返信

Re: TeX Liveのセットアップ中にConfiguration file texmf.cnf not found!と出る件に関する疑問

- 前田 一貴 の投稿
以下の実行結果はそれぞれどうなるでしょうか.出力を書いて下さい.

$ which kpsewhich
$ sudo which kpsewhich
$ kpsewhich texmf.cnf
$ sudo kpsewhich texmf.cnf

これらのコマンドがシステムに変更を加えることはないのでご安心下さい.
前田 一貴 への返信

Re: TeX Liveのセットアップ中にConfiguration file texmf.cnf not found!と出る件に関する疑問

- 廣瀬 大和 の投稿
前田様
解答ありがとうございます。また、返事が遅くなりまして申し訳ございません。

$ which kpsewhich を実行した結果:
/usr/local/bin/kpsewhich

$ sudo which kpsewhich を実行した結果:
/usr/local/bin/kpsewhich

$ kpsewhich texmf.cnf を実行した結果:

warning: Configuration file texmf.cnf not found! Searched these directories:

/usr/local/bin:/usr/local:/usr:/usr/local/bin/share/texmf-local/web2c:/usr/local/share/texmf-local/web2c:/usr/share/texmf-local/web2c:/usr/local/bin/texmf-local/web2c:/usr/local/texmf-local/web2c:/usr/texmf-local/web2c:/usr/local/bin/share/texmf/web2c:/usr/local/share/texmf/web2c:/usr/share/texmf/web2c:/usr/local/bin/texmf/web2c:/usr/local/texmf/web2c:/usr/texmf/web2c:/.:/usr/local/share/texmf/web2c:/usr/local/share/texmf/web2c

Trying to proceed...


$ sudo kpsewhich texmf.cnf を実行した結果:

warning: Configuration file texmf.cnf not found! Searched these directories:

/usr/local/bin:/usr/local:/usr:/usr/local/bin/share/texmf-local/web2c:/usr/local/share/texmf-local/web2c:/usr/share/texmf-local/web2c:/usr/local/bin/texmf-local/web2c:/usr/local/texmf-local/web2c:/usr/texmf-local/web2c:/usr/local/bin/share/texmf/web2c:/usr/local/share/texmf/web2c:/usr/share/texmf/web2c:/usr/local/bin/texmf/web2c:/usr/local/texmf/web2c:/usr/texmf/web2c:/.:/usr/local/share/texmf/web2c:/usr/local/share/texmf/web2c

Trying to proceed...

それぞれ、以上のように出力されました。
廣瀬 大和 への返信

Re: TeX Liveのセットアップ中にConfiguration file texmf.cnf not found!と出る件に関する疑問

- 和田 勇 の投稿

kpsewhich -var-value=TEXMFCNF

と実行した時に 最初にご質問された時の二つのディレクトリが含まれていないから texmf.cnf を見つけられないのだと思います。

美文書を使っていないので的外れかもしれませんが。。。

おそらく cjk−gs-integrate.pl を実行する時の環境変数 PATH が TeXLive 2015 を見ていないからだと思いますので、以下のようにやってみてください。

1) /usr/local/texlive/2015/bin の下にあるディレクトリを PATH に加えてください。ここでは x86_64-darwin とします。

PATH=/usr/local/texlive/2015/bin/x86_64-darwin:$PATH
export PATH    # PATH は export する必要はないと思うが念のため

2) cjk-gs-integrate.plをやり直す

cd /usr/local/texlive/2015/texmf-dist/scripts/cjk-gs-integrate
sudo perl cjk-gs-integrate.pl --link-texmf --force

3) 起動時 環境変数 PATH に TeXLive 2015 を登録

うまくいったら、環境変数 PATH に TeXLive 2015 の場所を組み込むように ホームディレクトリの .bashrc .bash_profile などや  /etc /path.d/TeX を作られたと思いますが  /usr/local/texlive/2015/bin/x86_64-darwin を加えておいてください。




和田 勇 への返信

Re: TeX Liveのセットアップ中にConfiguration file texmf.cnf not found!と出る件に関する疑問

- 廣瀬 大和 の投稿
和田様 ありがとうございます。

教えていただいた手順に従って再度行った所、無事に $sudo perl cjk-gs-integrate.pl --link-texmf --force は成功しました。

環境変数PATHについては教えていただいたように、 .bashrc .bash_profile /etc/paths.d/TeX に /usr/local/texlive/2015/bin/x86_64-darwin を加えたのですが、その後の手順にあった $sudo mktexlsr を実行した際、また同じ状態が発生し、先に進めなくなってしまいました。

PATHについては echo $PATHを何度行っても/usr/local/texlive/2015/bin/x86_64-darwinは含まれているのは確認できています。

質問ばかりで申し訳ないですが、よろしくお願い致します。
廣瀬 大和 への返信

Re: TeX Liveのセットアップ中にConfiguration file texmf.cnf not found!と出る件に関する疑問

- 和田 勇 の投稿
mktexlsr に指定ディレクトリがないときは kpsewhich --show-path=ls-R した結果で得られるディレクトリを対象にするだけなのですが...
それとも /usr/local/texlive/2015/bin/x86_64-darwin を PATH に設定する時、後方に付けたのかな?
あるいは、先の回答で /usr/local/bin/kpsewhich とされていたので、以前の TeX の設定が残っているのかな?


1) mktexlsr をフルパスで実行してもエラーかしら?

sudo /usr/local/texlive/2015/bin/x86_64-darwin/mktexlsr

2) PATH の設定が気になります。以下はどのようになりますか?

kpsewhich --show-path=ls-R
which mktexlsr

3) TeXLive 2015 以外であれば PATH の設定順序かな?以下の結果を教えてください。

echo $PATH

ついでに .bashrc などの PATH の設定も

grep PATH ~/.bash*
head -999 /etc/path.d/TeX

4) それとも他の環境変数かな?TeXLive 関係であれば以下のコマンドで調べられます。

set | grep TEX
grep TEX ~/.bash*  # この結果で .bash_history は不要です
和田 勇 への返信

Re: TeX Liveのセットアップ中にConfiguration file texmf.cnf not found!と出る件に関する疑問

- 廣瀬 大和 の投稿
和田様、ありがとうございます。

1) sudo /usr/local/texlive/2015/bin/x86_64-darwin/mktexlsr を実行

この場合は特にエラーらしき文面は見られず、最後まで処理できました。

2) kpsewhich --show-path=ls-R のち which mktexlsr を実行

$kpsewhich --show-path=ls-R の実行結果

warning: Configuration file texmf.cnf not found! Searched these directories:
/usr/local/bin:/usr/local:/usr:/usr/local/bin/share/texmf-local/web2c:/usr/local/share/texmf-local/web2c:/usr/share/texmf-local/web2c:/usr/local/bin/texmf-local/web2c:/usr/local/texmf-local/web2c:/usr/texmf-local/web2c:/usr/local/bin/share/texmf/web2c:/usr/local/share/texmf/web2c:/usr/share/texmf/web2c:/usr/local/bin/texmf/web2c:/usr/local/texmf/web2c:/usr/texmf/web2c:/.:/usr/local/share/texmf/web2c:/usr/local/share/texmf/web2c
Trying to proceed...
/usr/local/share/texmf:/var/tmp/texfonts

$which mktexlsr の実行結果

/usr/local/bin/mktexlsr

以上の通りでした。

3) echo $PATH の実行結果

/Users/foo/.rbenv/names:/Users/foo/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/local/texlive/2015/bin/x86_64-darwin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/texlive/2015/bin/x86_64-darwin:/Library/TeX/texbin
grep PATH ~/.bash*
/Users/foo/.bashrc:PATH="/usr/local/texlive/2015/bin/x86_64-darwin:$PATH"
/Users/foo/.bashrc:PATH="/usr/local/bin:$PATH"
/Users/foo/.bashrc:export PATH

head -999 /etc/path.d/TeX の実行結果

/usr/local/texlive/2015/bin/x86_64-darwin
/Library/TeX/texbin

となりました。

4) その他の環境変数

set | grep TEX の実行結果

__CF_USER_TEXT_ENCODING=0x1F5:0x1:0xE

grep TEX ~/.bash* の実行結果

.bash_historyは不要とのことでしたが、これを実行した際すべて.bash_historyでしたので割愛させて頂きます。

以上の結果となりました。

which mktexlsrの結果と、教えていただいたmktexlsrのパスがそれぞれ違うのが問題なのでしょうか…?(あまり本題と関係なければこの疑問は流していただいて結構です)
廣瀬 大和 への返信

Re: TeX Liveのセットアップ中にConfiguration file texmf.cnf not found!と出る件に関する疑問

- 和田 勇 の投稿
TeXLive 2015 を使う場合(これからこちらを使うんですよね)は
/usr/loca/bin の前に指定しないとダメです。

1)出力結果を見やすくすると ...
> echo $PATH
/Users/foo/.rbenv/names:
/Users/foo/.rbenv/bin:
/usr/local/sbin:
/usr/local/bin:
/usr/local/texlive/2015/bin/x86_64-darwin:
/usr/local/bin:
/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:
/opt/X11/bin:
/usr/local/texlive/2015/bin/x86_64-darwin:/Library/TeX/texbin

mktexlsr を上記の PATH の元で探すと最初の /usr/local/bin に見つかってしまっているので 2015 のは利用されなくなってしまいます。

2)どうしてこうなるかというと ....

>  grep PATH ~/.bash*
> /Users/foo/.bashrc:PATH="/usr/local/texlive/2015/bin/x86_64-darwin:$PATH
> /Users/foo/.bashrc:PATH="/usr/local/bin:$PATH"

下の方の PATH の設定が 2015 のコマンドを使えなくしてしまっています。

3)では改善は ....

/Users/foo/.rbenv/names:
/Users/foo/.rbenv/bin:
/usr/local/texlive/2015/bin/x86_64-darwin:
/opt/X11/bin:

以上、追加インストールしたものを先に
/usr/local/bin とかも追加の部類ですが、2015 と同じコマンドがあるので今回は優先度を下げ、/usr/bin /bin 類を続けて指定

/usr/local/bin:/usr/bin:/bin:
/usr/local/sbin:/usr/sbin:/sbin:

以下はおそらく /etc/path.d が取り込まれたものだと思います。
/Libray/TeX/texbin は /usr/local や /usr/bin /bin とバッティングするものはないと思われるので最後でも構わない。
/usr/local/texlive/2015/bin/x86_64-darwin:/Library/TeX/texbin

4)現在の .bashrc の PATH= の二行を取り除き、以下のように書き換えてください。
重複や順番が明確になるようにしてあります。またディレクトリが存在するものだけ PATH に登録するようにしてあります。

PATH=$(
    echo $(
(
   echo ${HOME}/.rbenv/names
   echo ${HOME}/.rbenv/bin
   echo /usr/local/texlive/2015/bin/x86_64-darwin
   echo /opt/X11/bin
   echo /usr/local/bin
   echo /usr/bin
   echo /bin
   echo /usr/local/sbin
   echo /usr/sbin
   echo /sbin
) |  while read d ; do test -d "${d}" && echo ${d} ; done
     ) | tr ' ' ':'
    )


廣瀬 大和 への返信

Re: TeX Liveのセットアップ中にConfiguration file texmf.cnf not found!と出る件に関する疑問

- 和田 勇 の投稿
TeXLive 2015 を使う場合(これからこちらを使うんですよね)は
/usr/loca/bin の前に指定しないとダメです。

1)出力結果を見やすくすると ...
> echo $PATH
/Users/foo/.rbenv/names:
/Users/foo/.rbenv/bin:
/usr/local/sbin:
/usr/local/bin:
/usr/local/texlive/2015/bin/x86_64-darwin:
/usr/local/bin:
/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:
/opt/X11/bin:
/usr/local/texlive/2015/bin/x86_64-darwin:/Library/TeX/texbin

mktexlsr を上記の PATH の元で探すと最初の /usr/local/bin に見つかってしまっているので 2015 のは利用されなくなってしまいます。

2)どうしてこうなるかというと ....

>  grep PATH ~/.bash*
> /Users/foo/.bashrc:PATH="/usr/local/texlive/2015/bin/x86_64-darwin:$PATH
> /Users/foo/.bashrc:PATH="/usr/local/bin:$PATH"

下の方の PATH の設定が 2015 のコマンドを使えなくしてしまっています。

3)では改善は ....

/Users/foo/.rbenv/names:
/Users/foo/.rbenv/bin:
/usr/local/texlive/2015/bin/x86_64-darwin:
/opt/X11/bin:

以上、追加インストールしたものを先に
/usr/local/bin とかも追加の部類ですが、2015 と同じコマンドがあるので今回は優先度を下げ、/usr/bin /bin 類を続けて指定

/usr/local/bin:/usr/bin:/bin:
/usr/local/sbin:/usr/sbin:/sbin:

以下はおそらく /etc/path.d が取り込まれたものだと思います。
/Libray/TeX/texbin は /usr/local や /usr/bin /bin とバッティングするものはないと思われるので最後でも構わない。
/usr/local/texlive/2015/bin/x86_64-darwin:/Library/TeX/texbin

4)現在の .bashrc の PATH= の二行を取り除き、以下のように書き換えてください。
重複や順番が明確になるようにしてあります。またディレクトリが存在するものだけ PATH に登録するようにしてあります。

PATH=$(
    echo $(
(
   echo ${HOME}/.rbenv/names
   echo ${HOME}/.rbenv/bin
   echo /usr/local/texlive/2015/bin/x86_64-darwin
   echo /opt/X11/bin
   echo /usr/local/bin
   echo /usr/bin
   echo /bin
   echo /usr/local/sbin
   echo /usr/sbin
   echo /sbin
) |  while read d ; do test -d "${d}" && echo ${d} ; done
     ) | tr ' ' ':'
    )


和田 勇 への返信

Re: TeX Liveのセットアップ中にConfiguration file texmf.cnf not found!と出る件に関する疑問

- 廣瀬 大和 の投稿
和田様 教えていただきありがとうございます。

一旦は最後までセットアップを終えることが出来ました。
しかしながら、試しにtest.texを作成しその後コンパイルしてみたところ、dvipdfmxが以前と同じようなエラーを出しました。

同様のエラーだったので、またPATHだろうと思い、echo $PATH で確認をしてみると、/usr/local/bin:/usr/local/sbin:/usr/local/texlive/2015/bin/x86_64-darwinとなっておりました。なぜ /usr/local/bin が最初に戻ってきていたのかは分かりませんでしたが、 .bash_profile から /usr/local/bin を取り除いてみて再度TeXからコンパイルしてみたところ、特に支障なく動くようになりました(これがパソコン的に大丈夫なのかは分かりませんが…)。

結果的にではありますが、しっかりと動くようになったのでほっといたしました。出来るところまでは対処してみようと思っていたのですが、知識不足で一人では解決できずにずっと悩むだけでしたので、ここで思い切って尋ねて本当に良かったと思います。とても助かりました。

おふたりとも、本当にありがとうございました。
廣瀬 大和 への返信

Re: TeX Liveのセットアップ中にConfiguration file texmf.cnf not found!と出る件に関する疑問

- 和田 勇 の投稿
廣瀬様へ
概ね解決されたようでホッとしています。

/usr/local/bin と PATH に関してですが、先日レポートでは PATH は .bashrcのみでしたので .bash_profile についての指示はしませんでしたが、自力解決何よりです。

.bashrc .bash_profile や /etc/ 以下の環境設定ファイルなどを参照される仕組みに関する話題は、このフォーラムには不適当と考えますので、ご質問があれば、私のアカウント情報にある「メッセージ」機能を利用してください。

また、/usr/local/ になんか別の latex 環境が中途半端に入っているように思います。macports とかあるいは自力でソースをダウンロードして展開

configure --prefix=/usr/local ; make ; sudo make install

とかされたのでしょうか?いずれかの方法で試みた際、失敗したのかもしれませんので/usr/local/bin 以下のコマンドではtexmf.cnf が探せなかったのではないかと思います。

可能であれば、/usr/local/bin などに入っている中途半端な latex を取り除いた方が良いかと思います。これも、このフォーラムの範疇外と思いますのでメッセージに書き込んでいただければ、サポートしますヨ。

最後に、もし、今後また同じようにエラー等になった時は以下を参考に調べると良いと思います。(ターミナル環境を想定して書いています)

番外) unix のコマンドの多くは -help や --help -hなどで使用方法が表示されますので適宜利用してください。

platex -help
dvipdfmx --help

1) 使っている latex は想定のもの?

ログをみましょう。ごちゃごちゃ一杯ありますが、有用なものが記録されていますので。

platex tekito.tex とすると tekito.log が作成されますのでusepackageなどで読み込んだファイルパス情報で、判断できます。


2) 使っているdvipdfmx は想定のもの?

dvipdfmx -v   # ファイル指定なし

以下のよう FONTMAP 情報が表示されるので判断できます。

<FONTMAP:/usr/local/texlive/2015/texmf-var/fonts/map/pdf ...以下省略