[OS X TeX] Why does TeXShop want to re-build pdflatex format (and fail)
jfbu
jfbu at free.fr
Fri Dec 8 10:59:33 EST 2017
Le 08/12/2017 à 16:38, jfbu a écrit :
> Le 08/12/2017 à 13:47, Herbert Schulz a écrit :
>>> On Dec 8, 2017, at 3:42 AM, jfbu <jfbu at free.fr> wrote:
>>>
>>> Hi again,
>>>
>>> Le 08/12/2017 à 10:18, jfbu a écrit :
>>>> Hi,
>>>> I downloaded TeXShop 3.92, and I had this issue:
>>>> TeXShop reports it tried to build a the pdflatex format
>>>> and failed: it fails to find pdflatex.ini
>>>> Although I don't know the root cause, I know the
>>>> triggering circumstances: it is because I have my
>>>> TeXLive configured with an extra
>>>> /usr/local/texlive/2017/bin/x86_64-darwinmacports
>>>> repertory alongside the
>>>> /usr/local/texlive/2017/bin/x86_64-darwinlegacy
>>>> and the texbin (from my /Library/TeX/Distributions/TeXLive-2017.texdist)
>>>> was pointing to the darwingmacports.
>>>> When I reset this symlink to target the default
>>>> x86_64-darwinlegacy all is fine with TeXShop.
>>>> It seems there is something hardcoded in TeXShop 3.92
>>>> which makes it believe that format needs to be rebuild
>>>> when the texbin points to
>>>> /usr/local/texlive/2017/bin/x86_64-darwinmacports
>>>> Error console:
>>>> ----START
>>>> This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/MacPorts 2017_1) (preloaded format=pdflatex)
>>>> restricted \write18 enabled.
>>>> kpathsea: Running mktexfmt pdflatex.fmt
>>>> mktexfmt: mktexfmt is using the following fmtutil.cnf files (in precedence order):
>>>> mktexfmt: /usr/local/texlive/2017/texmf-dist/web2c/fmtutil.cnf
>>>> mktexfmt: mktexfmt is using the following fmtutil.cnf file for writing changes:
>>>> mktexfmt: /Users/JOHNDOE/Library/texlive/2017/texmf-config/web2c/fmtutil.cnf
>>>> mktexfmt [INFO]: writing formats under /Users/JOHNDOE/Library/texlive/2017/texmf-var/web2c
>>>> mktexfmt [INFO]: --- remaking pdflatex with pdftex
>>>> mktexfmt: running `pdftex -ini -jobname=pdflatex -progname=pdflatex -translate-file=cp227.tcx *pdflatex.ini' ...
>>>> warning: Could not open char translation file `cp227.tcx'.
>>>> This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/MacPorts 2017_1) (INITEX)
>>>> restricted \write18 enabled.
>>>> entering extended mode
>>>> ! I can't find file `pdflatex.ini'.
>>>> <*> *pdflatex.ini
>>>> (Press Enter to retry, or Control-D to exit)
>>>> Please type another input file name:
>>>> ! Emergency stop.
>>>> <*> *pdflatex.ini
>>>> No pages of output.
>>>> Transcript written on pdflatex.log.
>>>> mktexfmt [ERROR]: running `pdftex -ini -jobname=pdflatex -progname=pdflatex -translate-file=cp227.tcx *pdflatex.ini >&2 </dev/null' return status 1
>>>> mktexfmt [ERROR]: return error due to options --strict
>>>> mktexfmt [INFO]: Disabled formats: 2
>>>> mktexfmt [INFO]: Not selected formats: 20
>>>> mktexfmt [INFO]: Failed to build: 1 (pdftex/pdflatex)
>>>> mktexfmt [INFO]: Total formats: 23
>>>> mktexfmt [INFO]: exiting with status 1
>>>> I can't find the format file `pdflatex.fmt'!
>>>> ----STOP
>>>> Additional info:
>>>> I see in the preferences
>>>> kpsetool -w -n latex tex
>>>> and if I try manually
>>>> $ kpsetool -w -n latex tex pdflatex.ini
>>>> /usr/local/texlive/2017/texmf-dist/tex/latex/latexconfig/pdflatex.ini
>>>> it appears ok.
>>>> Notice also that the above seems to try to create the
>>>> format in my $HOME, if it had succeeded it could have
>>>> caused problem when I later update TeXLive and the formats
>>>> are recreated system-wise.
>>>
>>> Forgot to say I am on Mavericks.
>>>
>>> If I try
>>>
>>> $ mktexfmt pdflatex.fmt
>>>
>>> it succeeds to create the format in my $HOME/Library/texlive/2017/texmf-var/web2c/pdftex/
>>>
>>> start of log
>>>
>>> This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/MacPorts 2017_1) (INITEX) 8 DEC 2017 10:35
>>>
>>> showing there is no specific issue with the MacPorts pdftex binary
>>> being used.
>>>
>>> Also
>>>
>>> $ fmtutil-sys --byfmt pdflatex
>>>
>>> succeeds under these circumstances. And I did
>>>
>>> $ fmtutil-sys --refresh
>>>
>>> with success too
>>>
>>> Best,
>>>
>>>
>>> Jean-François
>>
>> Howdy,
>>
>> Just a guess... fmtutil was changed in TeX Live 2017 so it either needs to be called as fmtutil-sys or fmtutil-user or with the first argument -sys or -user. The mktexfmt program is a link to fmtutil and fmtutil might be interpreting it as -user when called with that name. You might try `mktexfmt -sys` but even that might not work.
>>
>
> Thanks Herb,
>
> but I type directly either
>
> pdftex -ini -jobname=pdflatex -progname=pdflatex -translate-file=cp227.tcx *pdflatex.ini
>
> or
>
> mktexfmt pdflatex.fmt
>
> it does succeed (the latter puts the pdflatex.fmt
> in my $TEXMFHOME location, the former dumps it in the work repertory)
>
> on the other hand TeXShop sub-process reports a warning
>
> warning: Could not open char translation file `cp227.tcx'.
>
> and then the execution of pdftex reports this error
>
> ! I can't find file `pdflatex.ini'.
>
> This is all very puzzling.
>
> It does find the pdftex binary, but seems not to find
> support files.
>
> As is something was wrong with kpsewhich or kpsea library.
>
> Why would it succeed from a command line interface but
> not from TeXShop ?
>
> My .bash_profile does have some set-up for TEXMFDIST etc..
> but that's only for efficiency because Emacs/AUCTeX made
> in the past many calls to kpsewhich --var-value (less now)
> which are very very slow (less now thanks to A. Maxwell,
> but still slow).
>
> However this only defines env var, and it would work
> also without.
>
Hi,
ok, yes indeed my .bash_profile setting adds something
lacking to the TeXShop setting.
It appears after dichotomy that TEXMFDIST is what makes
the difference.
I.e. if I keep my .bash_profile set-up *except* the
TEXMFDIST then from command line:
$ pdftex -ini -jobname=pdflatex -progname=pdflatex -translate-file=cp227.tcx *pdflatex.ini
warning: Could not open char translation file `cp227.tcx'.
This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/MacPorts 2017_1) (INITEX)
restricted \write18 enabled.
entering extended mode
! I can't find file `pdflatex.ini'.
<*> *pdflatex.ini
which is exactly what happens with TeXShop.
Perhaps the MacPorts pdftex binary has some
default hard-coded which is specific to MacPorts
install location,but when the shell environment
sets TEXMFDIST it obeys then this variable.
Regarding kpsewhich, there is no problem as I said above
even with nothing set in my environment as shown here
$ echo $TEXMFDIST
$ kpsewhich --var-value TEXMFDIST
/usr/local/texlive/2017/texmf-dist
Or is TeXShop inner workings influenced by absence
of TEXMFDIST environment variable?
Best
Jean-François
More information about the MacOSX-TeX
mailing list