Hi Hilmar,

You're absolutely right, thanks for having a look and sorry for the
noise. Trying to go too fast was a bad idea yet another time. :) 

I've straced the build and the file seems generated and I see some
interesting things. I've heavily edited the output because the original
is already 11M.

Command:

  strace --decode-fds=all --no-abbrev --decode-pids=all -tt -f -o log -s 4096 
ninja

> <mktexpk> execve("/usr/bin/mkdir", ["mkdir", "/tmp/mt646779.tmp"], 
> 0x5ff64b6b9298 /* 36 vars */) = 0
> [...]
> <mktexpk> execve("/usr/bin/mf-nowin", ["mf-nowin", "-progname=mf", 
> "\\mode:=ljfour;", "mag:=1+0/600;", "nonstopmode;", "input", "logo10"], 
> ["MAKETEX_MAG=1+0/600", 
> "KPSE_DOT=/build/therion-oW9QKw/therion-6.2.1/thbook", 
> "TEXINPUTS=/build/therion-oW9QKw/therion-6.2.1/build/thbook;.", "USER=root", 
> "MAKETEX_MODE=/", "KPATHSEA_DPI=600", "SHLVL=1", "KPATHSEA_FORMAT=pk", 
> "HOME=/sbuild-nonexistent", 
> "OLDPWD=/build/therion-oW9QKw/therion-6.2.1/thbook", 
> "MT_MKTEX_CNF=/etc/texmf/web2c/mktex.cnf", 
> "SCHROOT_CHROOT_NAME=oracular-amd64", "APT_CONFIG=/var/lib/sbuild/apt.conf", 
> "MT_MKTEXUPD=/usr/share/texlive/texmf-dist/web2c/mktexupd", 
> "FORCE_SOURCE_DATE=1", "SCHROOT_UID=1000", "LOGNAME=root", 
> "_=/usr/bin/strace", "SELFAUTOLOC=/usr/bin", "MT_VARTEXFONTS=/tmp/texfonts", 
> "SELFAUTODIR=/usr", "SELFAUTOPARENT=/", 
> "PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", 
> "MT_MKTEXNAM_OPT=/usr/share/texlive/texmf-dist/web2c/mktexnam.opt", 
> "SCHROOT_COMMAND=/bin/sh -c bash -i </dev/tty >/dev/tty 2>/dev/tty", 
> "SCHROOT_SESSION_ID=oracular-amd64-d07c1014-b360-465a-91e8-3cc500813699", 
> "engine=pdftex", "SCHROOT_ALIAS_NAME=oracular-amd64", "LANG=en_US.UTF-8", 
> "MT_TEXMFMAIN=/usr/share/texlive/texmf-dist", 
> "MT_MKTEXDIR_OPT=/usr/share/texlive/texmf-dist/web2c/mktexdir.opt", 
> "SCHROOT_GROUP=adrien", "SCHROOT_USER=adrien", "SHELL=/bin/sh", 
> "TEXMF_OUTPUT_DIRECTORY=/build/therion-oW9QKw/therion-6.2.1/build/thbook", 
> "SELFAUTOGRANDPARENT=/", "KPATHSEA_NAME=logo10", "LC_ALL=C", 
> "PWD=/tmp/mt646779.tmp", 
> "MT_MKTEXNAM=/usr/share/texlive/texmf-dist/web2c/mktexnam", 
> "MAKETEX_BASE_DPI=600", 
> "MT_MKTEX_OPT=/usr/share/texlive/texmf-dist/web2c/mktex.opt", 
> "SCHROOT_GID=1000", "progname=mktexpk", 
> "MT_MKTEXDIR=/usr/share/texlive/texmf-dist/web2c/mktexdir"] <unfinished ...>
> [...]
> <mf-nowin> openat(AT_FDCWD</tmp/mt646779.tmp>, 
> "/build/therion-oW9QKw/therion-6.2.1/build/thbook/logo10.600gf", 
> O_WRONLY|O_CREAT|O_TRUNC, 0666) = 8
> [...]
> <mf-nowin> 
> write(8</build/therion-oW9QKw/therion-6.2.1/build/thbook/logo10.600gf>, 
> "\367\203  METAFONT output 2024.06. ......
> <mf-nowin> 
> close(8</build/therion-oW9QKw/therion-6.2.1/build/thbook/logo10.600gf>) = 0
> [...]
> <mktexpk> faccessat2(AT_FDCWD</tmp/mt646779.tmp>, "logo10.600gf", R_OK, 
> AT_EACCESS) = -1 ENOENT (No such file or directory)
> [...]
> <mktexpk> write(1<pipe:[24179568]>, "mktexpk: `mf-nowin -progname=mf 
> \\mode:=ljfour; mag:=1+0/600; nonstopmode; input logo10' failed to make 
> logo10.600pk.\n", 117) = 117

The file is created and written to but it's in
"/build/therion-oW9QKw/therion-6.2.1/build/thbook" rather than
"/tmp/mt646779.tmp" where mktexpk expects it to be.

Note that while running the commands directly myself, it seems I managed
to generate the file in an expected location and I was getting an error
about logo10.720gf rather than .600gf.

Several environment variables refer to the first directory: KPSE_DOT,
TEXINPUTS, OLDPWD, TEXMF_OUTPUT_DIRECTORY.
For TEXMF_OUTPUT_DIRECTORY, I've found the following: 
https://tug.org/pipermail/tex-live-commits/2024-February/028329.html

> Modified: trunk/Build/source/texk/kpathsea/NEWS
> ===================================================================
> --- trunk/Build/source/texk/kpathsea/NEWS     2024-02-05 00:43:32 UTC (rev 
> 69710)
> +++ trunk/Build/source/texk/kpathsea/NEWS     2024-02-05 17:23:27 UTC (rev 
> 69711)
> @@ -2,11 +2,12 @@
>  This file records noteworthy changes.  (Public domain.)
> 
>  6.4.0 (for TeX Live 2024)
> -* Support an extended check for safe filenames, also allowing
> +* Support an extended check for safe filenames which also allows
>    TEXMF[SYS]VAR, for Lua(La)TeX; new functions and corresponding
>    kpsewhich options.
> -* Allow the new variable TEXMF_OUTPUT_DIRECTORY (as well as TEXMFOUTPUT),
> -  so that subprograms can have access to an --output-directory setting.
> +* Support a new variable TEXMF_OUTPUT_DIRECTORY (alongside the
> +  traditional TEXMFOUTPUT), so that subprograms can have access to an
> +  --output-directory setting in an engine invocation.

I'll stop there as now I'm definitely out of time for today.

-- 
Adrien

Reply via email to