2017年9月24日日曜日

Sphinx を実行したら、 ERROR: non-ASCII filename not supported on this filesystem encoding 'ANSI_X3.4-1968', skipped. というエラーが出た

結論

aptlocaleslocales-all をインストールし、環境変数 LANGja_JP.UTF-8 を設定。以上。

作業記録

日本語ディレクトリを作ったら、以下のエラーが発生した。

sphinx-build -b html -d build/doctrees   source build/html
Running Sphinx v1.4.9
loading translations [ja]... not available for built-in messages
loading pickled environment... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 0 source files that are out of date
はじめに.rst:: ERROR: non-ASCII filename not supported on this filesystem encoding 'ANSI_X3.4-1968', skipped.
...(略)
/work/source/index.rst:14: WARNING: toctree contains reference to nonexisting document u'\u306f\u3058\u3081\u306b'
...(略)

日本語を含むパスでエラーが起きて、対象のディレクトリを見つけられず、 toctree でそのリンクがが作成されない感じ。

エラーメッセージで検索し、下記箇所が問題の処理だというのがわかった。

いろいろ検索したら、多言語対応に必要なパッケージが無いのが原因だったことがわかった。

そんなわけなので、 Dockerfile に下記 2 行を追加した。

RUN apt-get -y install locales locales-all && apt-get -y clean
ENV LANG=ja_JP.UTF-8

最終的に下記 Dockerfile ができた。

以上。

0 件のコメント:

コメントを投稿