Re: Bug#356476: texinfo - fails to install
Hi Bastian,
after an analysis of what we know, there are some requests for you at
the end.
Norbert Preining <preining@logic.at> wrote:
> So kpsewhich --version succeeds, but kpsewhich -var-value TEXMFSYSVAR
> does not. This would be really strange.
Yes, sorry, I didn't notice this.
So we know that libkpathsea is configured, and tetex-bin or the
respective texlive package is installed (we have a working kpsewhich
binary).
Since this was on an autobuilder, kpsewhich should be from tetex-bin,
not texlive. However, tetex-bin depends on tetex-base, and therefore
the strace looks as if some lines are missing:
| execve("/usr/bin/kpsewhich", ["kpsewhich", "-var-value", "TEXMFSYSVAR"], [/* 26 vars */]) = 0
| [...]
| access("/usr/share/texmf/aliases", R_OK) = -1 ENOENT (No such file or directory)
| fstat64(1, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
| mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x77fe6000
| write(1, "\n", 1) = 1
| munmap(0x77fe6000, 4096) = 0
| exit_group(1)
What I get here is:
,----
| execve("/usr/bin/kpsewhich", ["kpsewhich", "-var-value", "TEXMFSYSVAR"], [/* 35 vars */]) = 0
| [...]
| access("/home/frank/texmf/aliases", R_OK) = -1 ENOENT (No such file or directory)
| access("/var/lib/texmf/aliases", R_OK) = -1 ENOENT (No such file or directory)
| access("/usr/local/share/texmf/aliases", R_OK) = -1 ENOENT (No such file or directory)
| access("/usr/share/texmf/aliases", R_OK) = -1 ENOENT (No such file or directory)
| access("/var/cache/fonts/aliases", R_OK) = -1 ENOENT (No such file or directory)
| access("/usr/share/texmf-tetex/aliases", R_OK) = 0
| stat64("/usr/share/texmf-tetex/aliases", {st_mode=S_IFREG|0644, st_size=2763, ...}) = 0
| open("/usr/share/texmf-tetex/aliases", O_RDONLY) = 3
| fstat64(3, {st_mode=S_IFREG|0644, st_size=2763, ...}) = 0
| mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f1d000
| read(3, "% real-filename alias\nblackdvi.t"..., 4096) = 2763
| read(3, "", 4096) = 0
| close(3) = 0
| munmap(0xb7f1d000, 4096) = 0
| fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
| mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f1d000
| write(1, "/var/lib/texmf\n", 15) = 15
| munmap(0xb7f1d000, 4096) = 0
| exit_group(0) = ?
`----
The TEXMF variable is set by tex-common, and the directories
/var/lib/texmf, /var/cache/fonts, and /user/share/texmf-tetex are
installed by tex-common and/or tetex-base. Therefore I think kpsewhich
should look for an aliases file also in those directories, and it's
strange that it doesn't. At least /var/lib/texmf should exist and be
listed earlier than /usr/share/texmf.
[Bastian, look here]
Besides that, the strace doesn't give any information why kpsewhich
doesn't seem to know about TEXMFSYSVAR. There are two things that could
help here.
- set and export KPATHSEA_DEBUG=126 and try again, there'll be a lot of
output on stderr which we need to analyse
- If you can get /etc/texmf/texmf.cnf and /etc/texmf/texmf.d/* before
the buildd removes tex-common and other installe packages, the file
contents would probably help, too.
Regards, Frank
--
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)
Reply to: