Adam Lindsay wrote: (i cc to karl who knows more about the detry details of path expansion than i do)
Hans Hagen said this at Wed, 25 May 2005 17:34:24 +0200:
the next (main) release will probably have a new texexec (ruby version, smoother, faster, more clever, no ini file etc)
Hmm. I hand-updated to the latest, and now texexec wants to rebuild the format on every run.
I'm not used to seeing this, anyone have any hints on where to poke around?
(the format is in texmf.local/web2c/ and in a pdfetex subdir. I've texhashed, too.)
since engine support is either broken or not implemented in kpse/tetex, i need to sort it out myself; this is done in: sub checktexformatpath { # engine support is either broken of not implemented in some # distributions, so we need to take care of it ourselves my $texformats ; if (defined($ENV{'TEXFORMATS'})) { $texformats = $ENV{'TEXFORMATS'} ; } else{ $texformats = '' ; } if ($texformats eq '') { if ($dosish) { $texformats = `kpsewhich --expand-var=\$TEXFORMATS`.chomp ; } else { $texformats = `kpsewhich --expand-var=\\\$TEXFORMATS`.chomp ; } } if ($texformats !~ /web2c[\/\\].*\$ENGINE/) { $texformats =~ s/web2c/web2c\/{\$ENGINE,}/ ; $ENV{'TEXFORMATS'} = $texformats ; print " fixing texformat path : $ENV{'TEXFORMATS'}\n"; } if (! defined($ENV{'ENGINE'})) { if ($MpEngineSupport) { $ENV{'ENGINE'} .= $MpExecutable ; } ; $ENV{'ENGINE'} = $TeXExecutable ; print "fixing engine variable : $ENV{'ENGINE'}\n"; ## just added } } how i hate this naming; when -long ago- i started using local trees, i adopted the texmf-local naming that i noticed in those days, and look what we have here:
fixing texformat path : .:{/Users/atl/Library/texmf,!!/usr/local/teTeX/ share/texmf.local,!!/usr/local/teTeX/share/texmf.gwtex,!!/usr/local/ teTeX/share/texmf.tetex,!!/usr/local/teTeX/share/texmf}/web2c/{$ENGINE,}/{,}// 0
well, this magic line will append web2c/{$ENGINE,} to each path, including the share/texmf.local path so i'm puzzled; one complication is that kpse is not able to report the path that will be used (probably for good reason); so the format should end up in: !!/usr/local/teTeX/share/texmf.local/web2c/pdfetex/cont-en.fmt could it be that the /{,}// is playing tricks? can you try to add $texformats =~ s/\{\,\}\/\/// ; i.e. get rid of the trailing crap so that th eend looks like /web2c/{$ENGINE,}/ can you check at what value texexec sets $ENGINE ? (setting TEXFORMATS at the shell level will also work; that is what i normally have) watch this mix of teTeX and tetex and Users and Library vs share; if i would not know better, i'd think it was a blob of tricky perl code -) last time i tried it on the mac it worked, so i must try again the file should end up in web2c/pdftex
fmtutil: running `pdfetex -ini -jobname=cont-en -progname=context
forget about fmtutil, it cannot and will not handle engines Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------