0

As already reported on this other question I can't write on file 'foo.aux', when:

  1. Using the --output-directory option of both pdflatex and latexmk
  2. Using Tex Live 2017 on Linux

The output directories are not created, i.e., if my directory structure is the following:

  1. thesis/beforetext
  2. thesis/aftertext
  3. thesis/chapters

And I use the option latexmk or pdflatex --output-directory=cache, the following directories are not going to be created by latexmk or pdflatex and the compilation will fail with the errors I can't write on file 'thesis/cache/chapters/chapter1.aux'.

While running pdflatex or latexmk on Windows 10 with MiKTeX-TeX 2.9.6300 everything works fine and the directories thesis/cache/chapters, etc are going to be created correctly and automatically by Miktex.

This only does not work on Linux with TeX 3.14159265 (TeX Live 2017/Debian).

Can I report this nasty bug for TeX Live on Linux somewhere?

Or this is an intended behavior for TeX Live on Linux?

Or is this already reported?

David Carlisle
  • 757,742
user
  • 4,745
  • Personally, I would expect TeX not to create arbitrary directories (even if only nested). But I can't say whether this is intended. Before reporting a bug you should definitely check if it happens with the most recent versions (TL19) as well. – TeXnician Apr 15 '19 at 05:12

2 Answers2

3

This not a bug, you should specify an existing directory

tex --help

reports:

-output-directory=DIR   use existing DIR as the directory to write files in
                            ^^^^^^^^

While this particular case isn't a bug, the answer to the question in the title on where to report texlive bugs is answered on the page https://www.tug.org/texlive/bugs.html

David Carlisle
  • 757,742
  • Doing tex --help on Miktex shows -output-directory=DIR Use DIR as the directory to write output files to. But the problem is not only the cache directory itself, but all the nested directories which also needs to be created. The biggest issue is how it fails silently, without showing any errors when you run pdflatex --interaction=nonstopmode or batchmode – user Apr 15 '19 at 11:04
  • @user it isn't a silent fail it says it can't write to that location, which is true if it doesn't exist. (on texlive at least) – David Carlisle Apr 15 '19 at 11:07
  • It did not say it cannot write to that location if you pass pdflatex --interaction=nonstopmode or batchmode. I only saw that this was the problem when I removed the pdflatex --interaction=nonstopmode or batchmode. – user Apr 15 '19 at 11:08
  • Then, the question stills, where can I report this behavior for fixing? Linux users do not even think this is a problem? This is a very horrible behavior for user experience. – user Apr 15 '19 at 11:09
  • @user it can not write the log so there is nowhere for it to write the message if you suppress the terminal output. – David Carlisle Apr 15 '19 at 11:11
  • @user the texlive mail list but as I say I see no bug, so I would expect that they make no change. – David Carlisle Apr 15 '19 at 11:11
  • Indeed, accordingly, to the documentation, this is no bug. But an error like must go to the STDERR output stream, even if pdflatex --interaction=nonstopmode or batchmode are enabled. Because no PDF is generated and you have no idea what it was doing. Miktek latex implementation already does what I am asking here, then, I can only assume years ago, Miktex had fought with Tex Live devs about this issue, and the only thing we won is that Tex Live has a shit implementation for Linux users while everything went fine for Windows users, which more one time has a better user experience than Linux. – user Apr 15 '19 at 11:17
  • @user If a user explicitly opts to suppress all terminal output I can not see it as a bug that terminal output is suppressed but it's not my call, so you could try reporting it. It's nothing to do with windows or linux (many people use texlive on windows) it is a difference between miktex and texlive. – David Carlisle Apr 15 '19 at 11:21
0

Also answered here:

How to use output-directory with sub-directories

The easy way is to recreate the main directory structure in your output-directory, then it works.

Lumi
  • 101