[tex-live] Windows (MSYS2) : kpathsea does not find texmf.cnf

Vincent Torri vincent.torri at gmail.com
Fri Jun 10 07:14:13 CEST 2016


On Fri, Jun 10, 2016 at 6:48 AM, Akira Kakuto <kakuto at fuk.kindai.ac.jp> wrote:
>>> TEXMFCNF=E:/Documents/programmes_x86/texlive/2016;
>>> The trailing semicolon is important. If the semicolon does not exist,
>>> texmf.cnf is searched only in E:/Documents/programmes_x86/texlive/2016.
>> 1) I've just tried this. My program seems to hang.
>> 2) I tried E:/Documents/programmes_x86/texlive/2016: (with : at the
>> end) and I get
> Probably you are using a non-standard shell in which
> the semicolon is a special character.
> But the kpathsea for w32 requires DOS path separator, semicolon.
> So maybe the following works:
> export TEXMFCNF='E:/Documents/programmes_x86/texlive/2016;'

I use MSYS2. It indeed suppresses the warning, but with that code:

    char *name = "cmsy10.tfm";
    kpathsea kpse;
    char *n;

    kpse = kpathsea_new();
    kpathsea_set_program_name(kpse, "dvi.exe", NULL);
    kpathsea_init_prog (kpse, "dvi.exe", 300, NULL, NULL);
    n = kpathsea_find_file(kpse, name, kpse_tfm_format, 1);

n is NULL.

If I replace "dvi.exe" with "kpsewhich.exe", n is filled with the correct value.

Any idea why ?

thank you

Vincent Torri

More information about the tex-live mailing list