作曲・指導・C言語・Linux

金沢音楽制作

金沢音楽制作では、楽曲・楽譜の制作と、作曲や写譜などレッスンを行っています。

lstat(./texlua) failed: と表示される

ptex2pdfを実行すると、次のようなエラーが表示されてしまいました。

$ ptex2pdf
lstat(./texlua) failed: ./texlua: No such file or directory
kpathsea: Can't get directory of program name: ./texlua

このエラーの興味深いところは、フルパスを入力しても実行されませんが、パス先に移動すると実行される点です。

環境:macOS Big Sur、Bash 5.1.16、TeX Live 2021(mactex-no-gui)

原因と修正

原因は、無関係な環境変数の記述ミスです。情けないことに、.bash_profileに記述したパスに問題がありまた。

export PATH="/usr/local/opt/openssl@1.1/bin:{$PATH}"

ブレース({})の中に$が含まれてしまってます。正しくは、次のとおりです。

export PATH="/usr/local/opt/openssl@1.1/bin:${PATH}"

修正し再ログインすると、ptex2pdfが正しく動作しました。

$ ptex2pdf
[texlua] ptex2pdf[.lua] { option | basename[.tex] } ...
options: -v     version
         -h     help
         -help  print full help (installation, TeXworks setup)
         -e     use eptex class of programs
         -u     use uptex class of programs
         -l     use latex based formats
         -ld    use latex-dev based formats
         -s     stop at dvi
         -i     retain intermediate files
         -ot '<opts>'   extra options for TeX
         -od '<opts>'   extra options for dvipdfmx
         -output-directory '<dir>'   directory for created files

しかし、なぜこのミスでTeX Liveだけが動かなったのかよく分かりません(他にも影響があったけど気がついてない可能性も)。なお、Tex Liveの環境変数は、/etc/paths.d/TeXに記述されています。これは、/etc/profilepath_helperというコマンドで読み込まれます。詳しくは「macOSのプロファイルの読み込み順」を参照ください。

更新情報

  • 作成日:2021-01-10
  • 更新日:2022-04-30