sasozivanovic / memoize

A cross-format package for externalization of graphics and memoization of compilation results in general
LaTeX Project Public License v1.3c
18 stars 3 forks source link

perl extraction doesn't work on windows with texlive #11

Closed u-fischer closed 8 months ago

u-fischer commented 10 months ago

An arbitry example run with pdflatex test-utf8 error in a current texlive 2023 for me with

runsystem(memoize-extract.pl  -F latex test-utf8 )...executed safely (allowed).

(./test-utf8.mmz.log

! Package memoize (perl-based extraction) Error: No suitable Perl module for PD
F processing was found, options are PDF::API2, PDF::Builder.

I do have a correct perl installation and the needed modules: The same example run on the same PC but with miktex active compiles without problems:

Package memoize Warning: The compilation produced 2 new externs on input line 1
85.

I also do have TEXLIVE_WINDOWS_TRY_EXTERNAL_PERL set to 1 in my texlive.cnf, but as the texlive docu says "TeX Live (specifically, bin/windows/runscript.tlu) will then search for perl.exe on the search path, except for scripts which belong to the TeX Live infrastructure. ". So this doesn't help. So it looks as if windows users have to use the python variant, unless texlive support memoize better.

kberry commented 9 months ago

memoize* is not a TL infrastructure script, so I would have expected TEXLIVE_WINDOWS_TRY_EXTERNAL_PERL to apply. But, looking at runscript.tlu, I see that commands listed in shell_escape_commands are also barred from using external perl (around line 649).

I'm not sure if that makes sense. Can you please write to tex-live@tug.org so it can be discussed there? Windows decisions are not for me ... --thanks, karl.

sasozivanovic commented 9 months ago

Ulrike, thank you for finding and analyzing the problem, and sorry for my delayed response (busy times). Thank you Karl, as well, for your further analysis — I posted a message on tex-live@tug.org.

sasozivanovic commented 8 months ago

Hopefully this is now fixed by commit 57bb92f in TeXlive, by trying the external Perl for shell_escape programs as well. Thanks Karl!