[tex-live] Separating texmf trees. Problem with hard coded(?) path.
Gerben Wierda
Sherlock at rna.nl
Mon Mar 3 16:59:24 CET 2003
I am using a very recent perforce source build.
There is some weird hard-coding problem in KPSE, it seems.
I have rearranged my texmf tree setup so that everything created by a
make install of the programs is in a separate tree from the normal
macros and stuff. My texmf.cnf now says:
> % Our directory setup as explained in
> $SELFAUTOPARENT/share/README.gwtex
> % TEXMFMAIN contains the TEXMF tree installed by make install of the
> programs
> TEXMFMAIN = $SELFAUTOPARENT/share/texmf.bin
> % TEXMFTE contains the main TEXMF tree from teTeX
> TEXMFTE = $SELFAUTOPARENT/share/texmf.tetex
> % TEXMFGW contains GW specific defaults and additions
> TEXMFGW = $SELFAUTOPARENT/share/texmf.gwtex
> % TEXMFLOCAL contains any local system TeXadmin overrides
> TEXMFLOCAL = $SELFAUTOPARENT/share/texmf.local
> % $VARTEXMF is where texconfig writes its local settings
> VARTEXMF = $TEXMFLOCAL
> % User texmf trees can be catered for like this...
> HOMETEXMF = $HOME/Library/texmf
>
> % Our complete search path, the last three are searched through
> % ls-R exclusively, which means that you have to run texhash
> % after you have added, moved or deleted files in the tree
> TEXMF={$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFGW,!!$TEXMFTE,!!$TEXMFMAIN}
>
> % If you want to disable the HOME trees, use this:
> % TEXMF=!!{$TEXMFLOCAL,$TEXMFGW,$TEXMFTE,$TEXMFMAIN}
>
> % The system trees. These are the trees that are shared by all the
> users.
> SYSTEXMF = $TEXMFLOCAL;$TEXMFGW;$TEXMFTE;$TEXMFMAIN
>
> % Where generated fonts may be written. This tree is used when the
> sources
> % were found in a system tree and either that tree wasn't writable, or
> the
> % varfonts feature was enabled in MT_FEATURES in mktex.cnf.
> VARTEXFONTS = /var/tmp/texfonts
>
> % Where to look for ls-R files. There need not be an ls-R in the
> % directories in this path, but if there is one, Kpathsea will use it.
> % This is default set to TEXMF+VARTEXFONTS but without HOMETEXMF
> TEXMFDBS = $TEXMFLOCAL;$TEXMFGW;$TEXMFTE;$TEXMFMAIN;$VARTEXFONTS
I am now experiencing weird behaviour from kpsewhich. If I want to
locate fmtutil.cnf, I type:
kpsewhich --format='web2c files' fmtutil.cnf
But nothing is found (it *is* available in texmf.bin/web2c and it is
mentioned in texmf.bin/ls-R. It is also available in texmf.local/web2c)
When I move (TEXMFMAIN) share/texmf.bin to share/texmf, adapt the
settings above for TEXMFMAIN to reflect that (so that fmtutil.cnf is
found in share/texmf) and run texhash, it works, I get the one in
texmf.local.
Another strange thing is that I cannot find the value of the WEB2C
variable with kpsewhich when I use texmf.bin instead of texmf
> [dumbledore:/usr/local/teTeX] root# kpsewhich --expand-var '$TEXMF'
> {/Network/Users/gerben/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.bin}
> [dumbledore:/usr/local/teTeX] root# kpsewhich --expand-var '$WEB2C'
The last comes up empty (which is probably the cause of the problem I
am experiencing).
Now, suppose I do *not* edit /usr/local/teTeX/texmf.cnf and change
texmf.bin in texmf there but I *do* move texmf.bin to texmf. Then
suddenly I can expand WEB2C:
> [dumbledore:/usr/local/teTeX] root# kpsewhich --expand-var '$WEB2C'
> {/Network/Users/gerben/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.bin}/web2c
It looks like the name texmf is hard-coded somewhere in kpse. This
seems to be the case, because when I move texmf.bin to texmf,
texmf/web2c/texmf.cnf is read and variables are expanded, while with
texmf.bin they are not (see below fo rkpsewhich --debug 2 output).
(Note: my make install *does* install web2c stuff in share/texmf.bin,
not that it should matter)
Thanks,
G
I'll include the output of a kpsewhich --debug 2 run for finding
fmtutil.cnf:
> kdebug:hash_lookup(TEXMFDBS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXMFDBS) =>
> $TEXMFLOCAL:$TEXMFGW:$TEXMFTE:$TEXMFMAIN:$VARTEXFONTS
> kdebug:hash_lookup(TEXMFLOCAL.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXMFLOCAL) => $SELFAUTOPARENT/share/texmf.local
> kdebug:hash_lookup(TEXMFGW.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXMFGW) => $SELFAUTOPARENT/share/texmf.gwtex
> kdebug:hash_lookup(TEXMFTE.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXMFTE) => $SELFAUTOPARENT/share/texmf.tetex
> kdebug:hash_lookup(TEXMFMAIN.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXMFMAIN) => $SELFAUTOPARENT/share/texmf.bin
> kdebug:hash_lookup(VARTEXFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(VARTEXFONTS) => /var/tmp/texfonts
> kdebug:hash_lookup(TEXMFLOG.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXMFLOG) => (nil)
> kdebug:/usr/local/teTeX/share/texmf.local/ls-R: 563 entries in 26
> directories (0 hidden).
> kdebug:ls-R hash table:15991 buckets, 404 nonempty (2%); 563 entries,
> average chain 1.4.
> kdebug:/usr/local/teTeX/share/texmf.gwtex/ls-R: 543 entries in 62
> directories (0 hidden).
> kdebug:ls-R hash table:15991 buckets, 877 nonempty (5%); 1106 entries,
> average chain 1.3.
> kdebug:/usr/local/teTeX/share/texmf.tetex/ls-R: 12051 entries in 730
> directories (0 hidden).
> kdebug:ls-R hash table:15991 buckets, 7929 nonempty (49%); 13157
> entries, average chain 1.7.
> kdebug:/usr/local/teTeX/share/texmf.bin/ls-R: 69 entries in 20
> directories (0 hidden).
> kdebug:ls-R hash table:15991 buckets, 7954 nonempty (49%); 13226
> entries, average chain 1.7.
> kdebug:/var/tmp/texfonts/ls-R: 19 entries in 20 directories (0 hidden).
> kdebug:ls-R hash table:15991 buckets, 7954 nonempty (49%); 13245
> entries, average chain 1.7.
> kdebug:/usr/local/teTeX/share/texmf.tetex/aliases: 92 aliases.
> kdebug:alias hash table:1009 buckets, 86 nonempty (8%); 92 entries,
> average chain 1.1.
> kdebug:hash_lookup(GFFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(GFFONTS) => (nil)
> kdebug:hash_lookup(GLYPHFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(GLYPHFONTS) => (nil)
> kdebug:hash_lookup(TEXFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXFONTS) => (nil)
> kdebug:hash_lookup(MKTEXPK.kpsewhich) => (nil)
> kdebug:hash_lookup(MKTEXPK) => (nil)
> kdebug:hash_lookup(PKFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(PKFONTS) => (nil)
> kdebug:hash_lookup(TEXPKS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXPKS) => (nil)
> kdebug:hash_lookup(GLYPHFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(GLYPHFONTS) => (nil)
> kdebug:hash_lookup(TEXFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXFONTS) => (nil)
> kdebug:hash_lookup(MKTEXPK.kpsewhich) => (nil)
> kdebug:hash_lookup(MKTEXPK) => (nil)
> kdebug:hash_lookup(GLYPHFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(GLYPHFONTS) => (nil)
> kdebug:hash_lookup(TEXFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXFONTS) => (nil)
> kdebug:hash_lookup(MKTEXTFM.kpsewhich) => (nil)
> kdebug:hash_lookup(MKTEXTFM) => 1
> kdebug:hash_lookup(TFMFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(TFMFONTS) => (nil)
> kdebug:hash_lookup(TEXFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXFONTS) => (nil)
> kdebug:hash_lookup(AFMFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(AFMFONTS) => (nil)
> kdebug:hash_lookup(MKTEXFMT.kpsewhich) => (nil)
> kdebug:hash_lookup(MKTEXFMT) => (nil)
> kdebug:hash_lookup(MFBASES.kpsewhich) => (nil)
> kdebug:hash_lookup(MFBASES) => (nil)
> kdebug:hash_lookup(TEXMFINI.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXMFINI) => (nil)
> kdebug:hash_lookup(BIBINPUTS.kpsewhich) => (nil)
> kdebug:hash_lookup(BIBINPUTS) => (nil)
> kdebug:hash_lookup(TEXBIB.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXBIB) => (nil)
> kdebug:hash_lookup(BSTINPUTS.kpsewhich) => (nil)
> kdebug:hash_lookup(BSTINPUTS) => (nil)
> kdebug:hash_lookup(MKTEXFMT.kpsewhich) => (nil)
> kdebug:hash_lookup(MKTEXFMT) => (nil)
> kdebug:hash_lookup(TEXFORMATS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXFORMATS) => (nil)
> kdebug:hash_lookup(TEXMFINI.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXMFINI) => (nil)
> kdebug:hash_lookup(TEXFONTMAPS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXFONTMAPS) => (nil)
> kdebug:hash_lookup(MKTEXFMT.kpsewhich) => (nil)
> kdebug:hash_lookup(MKTEXFMT) => (nil)
> kdebug:hash_lookup(MPMEMS.kpsewhich) => (nil)
> kdebug:hash_lookup(MPMEMS) => (nil)
> kdebug:hash_lookup(TEXMFINI.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXMFINI) => (nil)
> kdebug:hash_lookup(MKTEXMF.kpsewhich) => (nil)
> kdebug:hash_lookup(MKTEXMF) => (nil)
> kdebug:hash_lookup(MFINPUTS.kpsewhich) => (nil)
> kdebug:hash_lookup(MFINPUTS) => (nil)
> kdebug:hash_lookup(MFPOOL.kpsewhich) => (nil)
> kdebug:hash_lookup(MFPOOL) => (nil)
> kdebug:hash_lookup(TEXMFINI.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXMFINI) => (nil)
> kdebug:hash_lookup(MFTINPUTS.kpsewhich) => (nil)
> kdebug:hash_lookup(MFTINPUTS) => (nil)
> kdebug:hash_lookup(MPINPUTS.kpsewhich) => (nil)
> kdebug:hash_lookup(MPINPUTS) => (nil)
> kdebug:hash_lookup(MPPOOL.kpsewhich) => (nil)
> kdebug:hash_lookup(MPPOOL) => (nil)
> kdebug:hash_lookup(TEXMFINI.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXMFINI) => (nil)
> kdebug:hash_lookup(MPSUPPORT.kpsewhich) => (nil)
> kdebug:hash_lookup(MPSUPPORT) => (nil)
> kdebug:hash_lookup(MKOCP.kpsewhich) => (nil)
> kdebug:hash_lookup(MKOCP) => (nil)
> kdebug:hash_lookup(OCPINPUTS.kpsewhich) => (nil)
> kdebug:hash_lookup(OCPINPUTS) => (nil)
> kdebug:hash_lookup(MKOFM.kpsewhich) => (nil)
> kdebug:hash_lookup(MKOFM) => (nil)
> kdebug:hash_lookup(OFMFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(OFMFONTS) => (nil)
> kdebug:hash_lookup(TEXFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXFONTS) => (nil)
> kdebug:hash_lookup(TFMFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(TFMFONTS) => (nil)
> kdebug:hash_lookup(OPLFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(OPLFONTS) => (nil)
> kdebug:hash_lookup(TEXFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXFONTS) => (nil)
> kdebug:hash_lookup(OTPINPUTS.kpsewhich) => (nil)
> kdebug:hash_lookup(OTPINPUTS) => (nil)
> kdebug:hash_lookup(OVFFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(OVFFONTS) => (nil)
> kdebug:hash_lookup(TEXFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXFONTS) => (nil)
> kdebug:hash_lookup(OVPFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(OVPFONTS) => (nil)
> kdebug:hash_lookup(TEXFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXFONTS) => (nil)
> kdebug:hash_lookup(TEXPICTS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXPICTS) => (nil)
> kdebug:hash_lookup(TEXINPUTS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXINPUTS) => (nil)
> kdebug:hash_lookup(MKTEXTEX.kpsewhich) => (nil)
> kdebug:hash_lookup(MKTEXTEX) => (nil)
> kdebug:hash_lookup(TEXINPUTS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXINPUTS) => (nil)
> kdebug:hash_lookup(TEXDOCS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXDOCS) => (nil)
> kdebug:hash_lookup(TEXPOOL.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXPOOL) => (nil)
> kdebug:hash_lookup(TEXMFINI.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXMFINI) => (nil)
> kdebug:hash_lookup(TEXSOURCES.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXSOURCES) => (nil)
> kdebug:hash_lookup(TEXPSHEADERS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXPSHEADERS) => (nil)
> kdebug:hash_lookup(PSHEADERS.kpsewhich) => (nil)
> kdebug:hash_lookup(PSHEADERS) => (nil)
> kdebug:hash_lookup(TRFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(TRFONTS) => (nil)
> kdebug:hash_lookup(T1FONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(T1FONTS) => (nil)
> kdebug:hash_lookup(T1INPUTS.kpsewhich) => (nil)
> kdebug:hash_lookup(T1INPUTS) => (nil)
> kdebug:hash_lookup(TEXPSHEADERS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXPSHEADERS) => (nil)
> kdebug:hash_lookup(PSHEADERS.kpsewhich) => (nil)
> kdebug:hash_lookup(PSHEADERS) => (nil)
> kdebug:hash_lookup(VFFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(VFFONTS) => (nil)
> kdebug:hash_lookup(TEXFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXFONTS) => (nil)
> kdebug:hash_lookup(TEXCONFIG.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXCONFIG) => (nil)
> kdebug:hash_lookup(TEXINDEXSTYLE.kpsewhich) => (nil)
> kdebug:hash_lookup(TEXINDEXSTYLE) => (nil)
> kdebug:hash_lookup(INDEXSTYLE.kpsewhich) => (nil)
> kdebug:hash_lookup(INDEXSTYLE) => (nil)
> kdebug:hash_lookup(TTFONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(TTFONTS) => (nil)
> kdebug:hash_lookup(T42FONTS.kpsewhich) => (nil)
> kdebug:hash_lookup(T42FONTS) => (nil)
> kdebug:hash_lookup(WEB2C.kpsewhich) => (nil)
> kdebug:hash_lookup(WEB2C) => (nil)
Contrast this to when texmf.bin is renamed to texmf (and
/usr/local/teTeX/texmf.cnf is changed or not)
> kdebug:hash_lookup(WEB2C.kpsewhich) => (nil)
> kdebug:hash_lookup(WEB2C) => $TEXMF/web2c
More information about the tex-live
mailing list