1

I have spent the better part of two days trying to figure out why my ubuntu linux system (two different systems, actually) are suddenly failing to find .cls and .sty files from my texlive distribution. I had originally used the ubuntu texlive, and that's where it started showing up. So, I did a purge of all my texlive packages and installed the 2020 texlive from the TUG installation script as explained here. But I still have the same problem. Here's what I've done so far:

  1. when logged in as the texlive user, all seems fine. In particular,
$  kpsewhich article.cls
/usr/local/texlive/2020/texmf-dist/tex/latex/base/article.cls

But when I run it as my normal user name, I get nothing and an exit code of 1.

  1. When logged in as either me or texlive, I get the following for the TEXMF variable:
$ kpsewhich --expand-var='$TEXMF'
{{}/home/ded/.texlive2020/texmf-config,/home/ded/.texlive2020/texmf-var,/home/ded/texmf,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2020/texmf-config,!!/usr/local/texlive/2020/texmf-var,!!/usr/local/texlive/2020/texmf-dist}

which looks right in both cases.

  1. I have checked file permissions, and all the texlive files have "other" read permission. Just to make sure, I can do this when logged in as me:
$ cat $(find /usr/local/texlive/2020/texmf-dist -name article.cls | head -n 1)

and I get the contents of artlicle.cls dumped to my screen.

  1. I have a ~/texmf directory, and it all looks kosher. I have no ~/.texlive2020 directory.

  2. I have run kpsewhich with various debug flags, and I can see where it searches the right directory, but still does not return the path for article.cls. I see this line in the output:

$ kpsewhich --debug=13 --must-exist --path=/usr/local/texlive/2020/texmf-dist// article.cls 2>~/tmp/kps-out
...
kdebug:dir_links(/usr/local/texlive/2020/texmf-dist/tex/latex/base) => 2
...

but still is not seeing article.cls.

I am hoping someone can suggest something else that I might try or suggest a solution.

1 Answers1

1

Ok. I finally figured out what the problem was. By setting TEXINPUTS in my shell environment setup, it was using those directories, to the /exclusion/ of the system directories. After adding an ending ':' to it, all worked as expected. I hope this answer helps someone else.

Now that I know the problem, this is a better answer: setting TEXINPUTS