Sphinxエラー調査
以下のエラーが発生する。
$ make latex $ cd build/latex $ make all-pdf-ja ≪省略≫ for f in *.idx; do mendex -U -f -d "`basename $f .idx`.dic" -s python.ist $f; done This is mendex version 2.6f [14-Aug-2009] (utf8.euc). Warning: Couldn't find dictionary file DOCTEST.dic. Scanning input file DOCTEST.idx....done (0 entries accepted, 0 rejected). 0 entries accepted, 0 rejected. Nothing written in output file. make: *** [all-pdf-ja] エラー 255
Makefileのターゲット内容は以下のようになっている。
all-pdf-ja: for f in *.pdf *.png *.gif *.jpg *.jpeg; do ebb $$f; done for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done for f in *.idx; do mendex -U -f -d "`basename $$f .idx`.dic" -s python.ist $$f; done for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done for f in *.dvi; do dvipdfmx $$f; done
コマンド実行時にWarning出ているだけだが、実行結果がエラーになっている可能性も考えられるため確認してみた。
以下の通り、テスト用のシェルスクリプトを実行して実行結果を確認した。
$ vi test.sh #!/bin/sh mendex -U -f -d DOCTEST.dic -s python.ist DOCTEST.idx if [ "$?" -eq 0 ] then echo 'SUCCESS' else echo 'FAILURE' fi
結果は以下の通りで、エラーになっていることが分かった。
$ sh test.sh This is mendex version 2.6f [14-Aug-2009] (utf8.euc). Warning: Couldn't find dictionary file DOCTEST.dic. Scanning input file DOCTEST.idx....done (0 entries accepted, 0 rejected). 0 entries accepted, 0 rejected. Nothing written in output file. FAILURE
Makefileで実行しているターゲットは、依存関係無視でシェルスクリプトで一括処理しているだけなので、残りのコマンドを直接実行してみた。
$ platex -kanji=utf8 DOCTEST.tex ≪省略≫ $ platex -kanji=utf8 DOCTEST.tex ≪省略≫ $ dvipdfmx DOCTEST.dvi DOCTEST.dvi -> DOCTEST.pdf [1][2][3 ** WARNING ** Object @page.i already defined. ][4 ** WARNING ** Object @page.ii already defined. ][5][6][7][8][9] 14078 bytes written
PDFファイルは生成されたが、AdobeReaderで開こうとすると以下のエラーダイアログが出てフィアルを表示することができない。
「この文書を開くときにエラーが発生しました。アクセスが拒否されました。」