fixing kpathsea

Norbert Preining preining at logic.at
Thu Nov 14 11:00:05 CET 2019


Hi Andrew,

On Fri, 08 Nov 2019, N. Andrew Walsh wrote:
> I have a gentoo Linux system onto which I'm trying to install the
> distro-provided texlive packages. The installation is failing on the
> texlive-basic package with the following error:

FIrst of all, this is a *NO*GO*!!!

You HAVE TO use the Gentoo package utilities to update TeX LIve. You
CANNOT use tlmgr to update it. 

THIS WILL NOT WORK.

Trust me.

(I am the author of tlmgr, **and** the package maintainer of TL in
Debian!)

> ---------------------
> * Building format texmf-dist/fmtutil/format.texlive-basic.cnf
> Can't locate mktexlsr.pl in @INC (@INC contains: //tlpkg
> //texmf-dist/scripts/texlive /etc/perl
> /usr/local/lib64/perl5/5.30.0/x86_64-linux /usr/local/lib64/perl5/5.30.0
> /usr/lib64/perl5/vendor_perl/5.30.0/x86_64-linux
> /usr/lib64/perl5/vendor_perl/5.30.0 /usr/local/lib64/perl5
> /usr/lib64/perl5/vendor_perl/5.12.4 /usr/lib64/perl5/vendor_perl
> /usr/lib64/perl5/5.30.0/x86_64-linux /usr/lib64/perl5/5.30.0) at
> /usr/bin/fmtutil line 23.
> BEGIN failed--compilation aborted at /usr/bin/fmtutil line 25.
>  * ERROR: dev-texlive/texlive-basic-2019-r1::gentoo failed (compile phase):
> ------------------------

That is a Gentoo bug. They have not patched tlmgr.pl so that it finds
the correct modules.

tlmgr seems to be in
	/usr/bin/tlmgr
because it searches
	/usr/bin/../../tlpkg/
for TeXLive directory.

Debian for example replaces the whole BEGIN block with
	$Master = "/usr/share/texlive";
and $Master is added to the Perl module search path in tlmgr.

Bottom line:
* don't use tlmgr to update the distribution TeX Live - only the 
  Gentoo package manager
  (in Debian we **force** tlmgr to user mode, so that it not even
  tries to do something in the system installed packages)
* if gentoo wants to ship tlmgr, it needs to adjust the various
  Perl module search paths in the tlmgr.pl source code

> The gentoo dev I asked said that my local kpathsea config was wrong, but
> I'm unable to find where I might have a .cfg file that's incorrect. I have
> the file /etc/texmf/texmf.d/05searchpaths.cnf, which gives the following
> for TEXMFROOT:
> --------------------------
> TEXMFROOT = $SELFAUTODIR/share
> --------------------------

This is probably because you have /usr/share/texmf/ and
/usr/share/texmf-dist. That is correct. But it does not help finding the
TeX Live Perl modules.

Best

Norbert

--
PREINING Norbert                               http://www.preining.info
Accelia Inc. + IFMGA ProGuide + TU Wien + JAIST + TeX Live + Debian Dev
GPG: 0x860CDC13   fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13


More information about the tex-live mailing list