You are not logged in.
[firestar @ ArchLinux ~] (20:52:04)
$ tlmgr update --self
bash: /home/firestar/.texlive/2022/texmf-dist/scripts/texlive/tlmgr.pl: No such file or directory
[firestar @ ArchLinux ~] (20:52:07)
$ sudo tlmgr update --self
Can't locate TeXLive/TLConfig.pm in @INC (you may need to install the TeXLive::TLConfig module)
(@INC contains: /usr/texmf-dist/scripts/texlive /usr/tlpkg /usr/lib/perl5/5.36/site_perl
/usr/share/perl5/site_perl /usr/lib/perl5/5.36/vendor_perl /usr/share/perl5/vendor_perl
/usr/lib/perl5/5.36/core_perl /usr/share/perl5/core_perl) at /usr/local/bin/tlmgr line 91.
BEGIN failed--compilation aborted at /usr/local/bin/tlmgr line 91.I installed texlive from ISO (not from pacman) and I use the clean, default install:
<D> set directories:
TEXDIR (the main TeX directory):
/usr/local/texlive/2022
TEXMFLOCAL (directory for site-wide local files):
/usr/local/texlive/texmf-local
TEXMFSYSVAR (directory for variable and automatically generated data):
/usr/local/texlive/2022/texmf-var
TEXMFSYSCONFIG (directory for local config):
/usr/local/texlive/2022/texmf-config
TEXMFVAR (personal directory for variable and automatically generated data):
~/.texlive2022/texmf-var
TEXMFCONFIG (personal directory for local config):
~/.texlive2022/texmf-config
TEXMFHOME (directory for user-specific files):
~/texmf
New value for binary directory [/usr/local/bin]:
New value for man directory [/usr/local/man]:
New value for info directory [/usr/local/info]: texconfig conf
=========================== kpathsea variables ===========================
TEXMFMAIN=/usr/texmf-dist
TEXMFDIST=/usr/texmf-dist
TEXMFLOCAL=//texmf-local
TEXMFSYSVAR=/usr/texmf-var
TEXMFSYSCONFIG=/usr/texmf-config
TEXMFVAR=/home/firestar/.texlive2022/texmf-var
TEXMFCONFIG=/home/firestar/.texlive2022/texmf-config
TEXMFHOME=/home/firestar/texmf
VARTEXFONTS=/home/firestar/.texlive2022/texmf-var/fonts
TEXMF={{}/home/firestar/.texlive2022/texmf-config,/home/firestar/.texlive2022/texmf-var,/home/firestar/texmf,!!//texmf-local,!!/usr/texmf-config,!!/usr/texmf-var,!!/usr/texmf-dist}
SYSTEXMF=/usr/texmf-var://texmf-local:/usr/texmf-dist
TEXMFDBS={!!//texmf-local,!!/usr/texmf-config,!!/usr/texmf-var,!!/usr/texmf-dist}
WEB2C={{}/home/firestar/.texlive2022/texmf-config,/home/firestar/.texlive2022/texmf-var,/home/firestar/texmf,!!//texmf-local,!!/usr/texmf-config,!!/usr/texmf-var,!!/usr/texmf-dist}/web2c
TEXPSHEADERS=.:{{}/home/firestar/.texlive2022/texmf-config,/home/firestar/.texlive2022/texmf-var,/home/firestar/texmf,!!//texmf-local,!!/usr/texmf-config,!!/usr/texmf-var,!!/usr/texmf-dist}/{dvips,fonts/{enc,type1,type42,type3}}//
TEXCONFIG={{}/home/firestar/.texlive2022/texmf-config,/home/firestar/.texlive2022/texmf-var,/home/firestar/texmf,!!//texmf-local,!!/usr/texmf-config,!!/usr/texmf-var,!!/usr/texmf-dist}/dvips//
ENCFONTS=.:{{}/home/firestar/.texlive2022/texmf-config,/home/firestar/.texlive2022/texmf-var,/home/firestar/texmf,!!//texmf-local,!!/usr/texmf-config,!!/usr/texmf-var,!!/usr/texmf-dist}/fonts/enc//
TEXFONTMAPS=.:{{}/home/firestar/.texlive2022/texmf-config,/home/firestar/.texlive2022/texmf-var,/home/firestar/texmf,!!//texmf-local,!!/usr/texmf-config,!!/usr/texmf-var,!!/usr/texmf-dist}/fonts/map/{kpsewhich,pdftex,dvips,}//`kpsewhich -var-value=TEXMFDIST` gives `/usr/texmf-dist` too
This did not happen before last month, I think it is related to the difference between Archlinux perl and TeXLive perl
I read the ArchWiki: https://wiki.archlinux.org/title/TeX_Live
but the solution do not work for me.
Last edited by Firestar (2023-01-01 12:57:42)
Write programs that do one thing and do it well.
Write programs to work together.
Write programs to handle text streams, because that is a universal interface.
Offline
The most weird thing is, although `texconfig` and `kpathsea` gives `TEXMFDIST=/usr/texmf-dist`
I do not have that folder at all
$ ls /usr
bin etc include lib lib32 lib64 local sbin share src
$ ls /usr/share/t*
/usr/share/tabset:
std stdcrt vt100 vt300
/usr/share/tc:
experimental.dist normal.dist pareto.dist paretonormal.dist
/usr/share/terminfo:
1 3 5 7 9 A c e f h j l m n o P Q s u w X
2 4 6 8 a b d E g i k L M N p q r t v x z
/usr/share/texinfo:
DebugTexinfo ext htmlxref.cnf init js lib Pod-Simple-Texinfo texindex.awk Texinfo texinfo.dtd
/usr/share/themes:
Breeze Breeze-Dark Default Emacs
/usr/share/thumbnailers:
gdk-pixbuf-thumbnailer.thumbnailer librsvg.thumbnailer
/usr/share/tracker3:
ontologies stop-wordsLast edited by Firestar (2023-01-01 13:04:44)
Write programs that do one thing and do it well.
Write programs to work together.
Write programs to handle text streams, because that is a universal interface.
Offline
You need to run tlmgr as root if you want to update your system wide installation, and you need to set the environment variables correctly. It seems, you have a mixture between repo-packages and your ISO-packages.
I have
$ cat /etc/profile.d/texlive.sh
export MANPATH=/usr/local/texlive/2022/texmf-dist/doc/man:$MANPATH
export INFOPATH=/usr/local/texlive/2022/texmf-dist/doc/info:$INFOPATH
export PATH=/usr/local/texlive/2022/bin/x86_64-linux:$PATHI can recomment texlive-full from AUR.
Offline
It looks as if you've installed TeX Live from upstream, which is the way I do it. That's why you've got stuff in /usr/local. My recommendation (and upstream's recommendation) is not to do the installation as root. Many people do, but it would be safer not to.
Either way, you do not want to run tlmgr update in user mode ever. It will lead to lots of problems. Unless you have no choice, only ever run tlmgr in system mode. In particular, you really, really don't want to do font configuration for TeX Live at the user level.
Your configuration variables are entirely messed up, as you noted. What does
$ ls -R ~/.texlive2022
$ echo $PATHgive?
For reference, texconfig conf should give something like the following
=========================== version information ==========================
TeX Live (https://tug.org/texlive) version 2022
==================== binaries found by searching $PATH ===================
PATH=/usr/local/texlive/2022/bin/x86_64-linux:/usr/local/texlive/2022/bin/x86_64-linux:/usr/local/texlive/2022/bin/x86_64-linux:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/jvm/default/bin:/home/firestar/bin
kpsewhich: /usr/local/texlive/2022/bin/x86_64-linux/kpsewhich
updmap: /usr/local/texlive/2022/bin/x86_64-linux/updmap
fmtutil: /usr/local/texlive/2022/bin/x86_64-linux/fmtutil
texconfig: /usr/local/texlive/2022/bin/x86_64-linux/texconfig
tex: /usr/local/texlive/2022/bin/x86_64-linux/tex
pdftex: /usr/local/texlive/2022/bin/x86_64-linux/pdftex
mktexpk: /usr/local/texlive/2022/bin/x86_64-linux/mktexpk
dvips: /usr/local/texlive/2022/bin/x86_64-linux/dvips
dvipdfmx: /usr/local/texlive/2022/bin/x86_64-linux/dvipdfmx
=========================== active config files ==========================
/usr/local/texlive/2022/texmf-config/web2c/updmap.cfg
/usr/local/texlive/2022/texmf-dist/dvips/config/config.ps
/usr/local/texlive/2022/texmf-dist/tex/generic/tex-ini-files/pdftexconfig.tex
/usr/local/texlive/2022/texmf-dist/web2c/fmtutil.cnf
/usr/local/texlive/2022/texmf-dist/web2c/mktex.cnf
/usr/local/texlive/2022/texmf-dist/xdvi/XDvi
/usr/local/texlive/2022/texmf.cnf
============================= font map files =============================
psfonts.map: /usr/local/texlive/2022/texmf-var/fonts/map/dvips/updmap/psfonts.map
pdftex.map: /usr/local/texlive/2022/texmf-var/fonts/map/pdftex/updmap/pdftex.map
ps2pk.map: /usr/local/texlive/2022/texmf-var/fonts/map/dvips/updmap/ps2pk.map
=========================== kpathsea variables ===========================
TEXMFMAIN=/usr/local/texlive/2022/texmf-dist
TEXMFDIST=/usr/local/texlive/2022/texmf-dist
TEXMFLOCAL=/usr/local/texlive/texmf-local
TEXMFSYSVAR=/usr/local/texlive/2022/texmf-var
TEXMFSYSCONFIG=/usr/local/texlive/2022/texmf-config
TEXMFVAR=/home/firestar/.texlive2022/texmf-var
TEXMFCONFIG=/home/firestar/.texlive2022/texmf-config
TEXMFHOME=/home/firestar/texmf
VARTEXFONTS=/home/firestar/.texlive2022/texmf-var/fonts
TEXMF={/home/firestar/.texlive2022/texmf-config,/home/firestar/.texlive2022/texmf-var,/home/firestar/texmf,!!/usr/local/texlive/2022/texmf-config,!!/usr/local/texlive/2022/texmf-var,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2022/texmf-dist,/usr/share/texmf}
SYSTEXMF=/usr/local/texlive/2022/texmf-var:/usr/local/texlive/texmf-local:/usr/local/texlive/2022/texmf-dist
TEXMFDBS={!!/usr/local/texlive/2022/texmf-config,!!/usr/local/texlive/2022/texmf-var,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2022/texmf-dist,/usr/share/texmf}
WEB2C={/home/firestar/.texlive2022/texmf-config,/home/firestar/.texlive2022/texmf-var,/home/firestar/texmf,!!/usr/local/texlive/2022/texmf-config,!!/usr/local/texlive/2022/texmf-var,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2022/texmf-dist,/usr/share/texmf}/web2c
TEXPSHEADERS=.:{/home/firestar/.texlive2022/texmf-config,/home/firestar/.texlive2022/texmf-var,/home/firestar/texmf,!!/usr/local/texlive/2022/texmf-config,!!/usr/local/texlive/2022/texmf-var,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2022/texmf-dist,/usr/share/texmf}/{dvips,fonts/{enc,type1,type42,type3}}//
TEXCONFIG={/home/firestar/.texlive2022/texmf-config,/home/firestar/.texlive2022/texmf-var,/home/firestar/texmf,!!/usr/local/texlive/2022/texmf-config,!!/usr/local/texlive/2022/texmf-var,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2022/texmf-dist,/usr/share/texmf}/dvips//
ENCFONTS=.:{/home/firestar/.texlive2022/texmf-config,/home/firestar/.texlive2022/texmf-var,/home/firestar/texmf,!!/usr/local/texlive/2022/texmf-config,!!/usr/local/texlive/2022/texmf-var,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2022/texmf-dist,/usr/share/texmf}/fonts/enc//
TEXFONTMAPS=.:{/home/firestar/.texlive2022/texmf-config,/home/firestar/.texlive2022/texmf-var,/home/firestar/texmf,!!/usr/local/texlive/2022/texmf-config,!!/usr/local/texlive/2022/texmf-var,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2022/texmf-dist,/usr/share/texmf}/fonts/map/{kpsewhich,pdftex,dvips,}//
==== kpathsea variables from environment only (ok if no output here) ====Except that you may not have any /usr/share/ bits in there, because those are not part of a vanilla configuration.
But the configuration files under ~/.texlive2022 should generally not exist.
Note that there is no TeX Live perl. TeX Live uses Arch's perl. The problem is that you have an Arch-style custom configuration which does not correspond to your installation of TeX Live. Something is writing those configuration variables (probably something in ~/.texlive2022 though it could be something system-wide if you've also installed conflicting Arch packages).
Edit: Note that to maintain a vanilla TeX Live install, you probably want to install dummy packages to keep pacman happy. Otherwise, you will end up with conflicts if something pulls Arch's texlive packages in as dependencies. For example, this will happen if you try to install a TeX editor or similar. You can also use pacman's configuration to ignore packages, but the dummy packaging has the advantage of letting you install stuff which depends on TeX. For example, I used the following PKGBUILD:
pkgname=texlive-dummy-cfr
pkgver=1.0
pkgrel=1
pkgdesc="TeX typesetting program"
arch=(i686 x86_64)
license=('custom')
provides=('tetex' 'texlive-bin' 'texlive-core' 'texinfo')
conflicts=('tetex' 'texlive-bin' 'texlive-core')
build() {
/bin/true
}and the following in /etc/pacman.conf
IgnorePkg = texlive-bin
IgnoreGroup = texlive-most texlive-langOnce this is setup, you can forget about it, but if you'd rather not deal with this kind of complication, then I'd recommend using Arch's texlive packages instead. That may create more complications in the end, but it is certainly more straightforward at the installation stage.
Before you do anything like this, look at pacman's log and check if you've installed conflicting texlive packages already. If so, you should either remove those or abandon your upstream installation.
Edit 2: /etc/profile.d/firestar_texlive.sh
if [ $UID != 0 ]
then
[ -d "/usr/local/texlive/2022/bin/x86_64-linux" ] && export PATH="/usr/local/texlive/2022/bin/x86_64-linux:${PATH}"
# need to add to INFOPATH but this seems not to be set and I'm not sure how to handle that...
[ -d "/usr/local/texlive/2022/texmf-dist/doc/info" ] && export INFOPATH="${INFOPATH}:/usr/local/texlive/2022/texmf-dist/doc/info"
fiIt is best not to alter MANPATH which is empty by default as the information can be derived from PATH, but you might need to add a line to /etc/man_db.conf to create the appropriate mapping.
Last edited by cfr (2023-01-03 05:58:05)
CLI Paste | How To Ask Questions
Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L
Offline
I tried installing texlive as user (non-root), it can also Create symlinks in standard directories but I do need to edit the PATH myself.
Now tlmgr can be executed as user and no error ocurred.
Last edited by Firestar (2023-01-10 03:08:40)
Write programs that do one thing and do it well.
Write programs to work together.
Write programs to handle text streams, because that is a universal interface.
Offline