1

I've just installed Linux Mint 18.2 and TeX Live 2017 (I'm pretty sure; see below). I actually have two separate issues masked into one, so I will present them both.

I have the following minimum working example:

\documentclass{article}
\usepackage{fontspec}

\begin{document}
    This is a test.
\end{document}

I try to compile this with lualatex, but it does not compile. It gives me

This is LuaTeX, Version beta-0.80.0 (TeX Live 2015/Debian) (rev 5238) 
 restricted \write18 enabled.
(./test.tex
LaTeX2e <2016/02/01>
Babel <3.9q> and hyphenation patterns for 1 language(s) loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.sty
(/usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3-code.tex)
(/usr/share/texlive/texmf-dist/tex/latex/l3kernel/l3pdfmode.def))
(/usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse.sty)

! LaTeX Error: File `luaotfload.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

Why it says TeX Live 2015 is beyond me...So, I used this solution and attempted to run tlmgr update lmodern but I get

(running on Debian, switching to user mode!)
Unknown directive ...containerchecksum LONGCHECKSUM... , please fix it! at /usr/share/texlive/tlpkg/TeXLive/TLPOBJ.pm line 210, <$retfh> line 5761.

where LONGCHECKSUM is a long checksum. Now, according to this answer, it was a bug which has been fixed for Debian years ago!! AND, according to this solution, I have to use an old TeXLive version for tlmgr. Now that is interesting to me, because when I run tex --version it returns TeX 3.14159265 (TeX Live 2015/Debian), but I'm 100% sure I downloaded the 2017 version.

I'm honestly just lost at this point. I'm doing all this on a new computer and I would just like to get back to work at this point. Any help here would be just great. If this is not the best place to post, please do point me in the right direction.

Edit: it turns out I was using the repo version of TeX Live. Doing export PATH=my/texlive/directory/:$PATH in ~/.bashrc (as opposed to ~/.profile) solved the issue and now my system is using TeX Live 2017 and everything compiles as it should.

  • Well, you're using the repo version! That means you are using TL2015. And then tlmgr behaves that way. Probably you have to uninstall the repo version and add your manual one to the path. – TeXnician Aug 7 '17 at 20:43
  • Just a question: Some LaTeX editors depend on the packages for tl (repo version). Did you install one of them which depended on one? – TeXnician Aug 7 '17 at 20:45
  • 1
    Possible duplicate of How to install "vanilla" TeXLive on Debian or Ubuntu? – TeXnician Aug 7 '17 at 20:46
  • I'm afraid I don't understand, how did I manage to use the repo version? This is my PATH /home/ME/bin:/home/ME/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/texlive/2017/bin/x86_64-linux And no, I didn't install any LaTeX-sepcific editors. – fiziks Aug 7 '17 at 20:49
  • 1
    presumably you have an older tex in /usr/bin or /bin than the one you have in /usr/local/texlive so you should have that earlier in your path. – David Carlisle Aug 7 '17 at 21:08
1

All of the above comments actually answer the question. For the benefit of others who search, let me put them together here.

Many Linux distros (all of them?) include a version of texlive that was prepared prior to the time that distro was released. For example, the current long-term release of Ubuntu (16.04) includes texlive 2015, even though texlive is now in 2017. Regular updates of the Linux system usually do NOT roll texlive into a subsequent version. In the case mentioned, you would still be in texlive 2015 no matter how often you update.

If you have ever installed texlive via the distro package manager, then unless you completely uninstall it, it is lurking in your system. A subsequent install of a newer texlive might not have its files selected when you try to compile. Instead, the older files will be used.

The solution is to first completely uninstall anything related to texlive. Be careful that you don't leave bits and pieces behind. You might also look in your home folder for a hidden ~/.texlive folder or perhaps ~/.texmf-local, and get rid of them. Also check the /etc folder.

Then you can install texlive 2017 direct from TUG. When the installation completes, the Terminal may advise you to set certain environmental variables, so that this texlive is located by your system. That might involve modifying ~/.bashrc or ~/.profile, or you could export the variables in Terminal each time you call the program.

If you use a TeX editor, such as TeXWorks, it may refuse to install from the distro package manager, unless you installed the old distro version of texlive. If you don't pay attention, you may inadvertently install the old texlive, and then you're back to square one. Fortunately, you can manually download TeXWorks as a deb package directly from its project, then use the dpkg program to install it. It might need a helper program or two, which you can install in the usual fashion. Just be sure that you don't install the system texlive.

Your manually installed texlive is updated via its own tlmgr, not via the distro updates.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.