79

I'm not able to get past this error. I do not wish to do a fresh install of texlive. Why is texlive so frickin annoying? Why does it force me too fresh install? Why can't I just upgrade texlive like any other piece of software? Why can't I just use the older version? Why can't I live in peace?

nikhil@spyder:~/report$ tlmgr install listings
(running on Debian, switching to user mode!)
tlmgr: Remote repository is newer than local (2017 < 2018)
Cross release updates are only supported with
  update-tlmgr-latest(.sh/.exe) --update
Please see https://tug.org/texlive/upgrade.html for details.
Martin Scharrer
  • 262,582
nikhilweee
  • 1,659
  • 9
    Welcome! As it stands, this is more a rant than a question. What do you want help with? As you probably know, we are not responsible for the design of TeX Live. (Of course, someone who is may answer your question, but if you really want it answered as such, this isn't the best place.) I would say: it is not really TL which is annoying you, but Debian's packaging of TL. Luckily, you can install the packages you need using apt without needing to update your TL installation. If you had an upstream install, you could just keep using the 2017 version. So nothing forces you to update either way. – cfr May 02 '18 at 16:38
  • Package updates might be using new features of TeX Live 2018, for instance. – egreg May 02 '18 at 16:39
  • 3
    @cfr You are right. This was intended to be a question more than a rant but turned out to be the opposite. I still don't blame myself though. I simply wanted to get rid of this error and install the listings package peacefully. Sorry if that is not evident from the question. Thanks for your insights though. I wasn't aware that I could simply install packages using apt. – nikhilweee May 02 '18 at 17:21
  • 1
    Or, you can switch to MiKTeX, if you prefer a rolling release model. Now MiKTeX is also available for Linux and MacOS and it's no longer a Windows-exclusive TeX distro. – andselisk Dec 04 '18 at 21:54
  • 3
    What is the problem of downloading update-tlmgr-latest from the URL shown and run it? It is not more complicated as running tlmgr, and not "frickin annoying". What do you mean with "like any other piece of software"? If you talk about Linux software, then stick to the outdated distribution packages. If you talk about software in general, then note that e.g. under Windows basically ALL software need a new EXE downloaded and executed on major version changes. – Martin Scharrer Jan 22 '19 at 10:50
  • I have remove comments here which were not directly related to the topic at hand. – Joseph Wright Jan 23 '19 at 17:09

5 Answers5

69

This seems to do the trick. The solution is to downgrade the repository to 2017 version. This seems to be easy enough, but a quick search for the error did not suggest anything of this sort.

sudo tlmgr option repository ftp://tug.org/historic/systems/texlive/2017/tlnet-final
nikhilweee
  • 1,659
  • 6
    this is "staying at tl2017" as I mentioned in my answer. If you had updated with tlmgr before texlive 2018 was released then this will never do anything as the tlnet-final are just fixed snapshots they will never be updated so you will get no updates via that repository. – David Carlisle May 02 '18 at 18:10
  • 2
    In addition, unlike a normal ctan mirror that uses a distributed mirrored network to share load around the globe, this is directly hitting TUG's main server, that server is not set up as a global delivery network, and is designed for occasional one-off downloads of the archived systems. – David Carlisle May 02 '18 at 20:30
  • 1
    Noting the concerns in the above comments, this answer still serves as a great temporary workaround. Thanks! – cemulate May 09 '18 at 03:50
  • I need this workaround every year between the time of the official release and the time I actually get around to upgrading my TL installation. – corwin.amber Jul 11 '18 at 08:51
  • 1
    trying this same trick (but with 2018 and 2019), I get: tlmgr: main database at ftp://tug.org/historic/systems/texlive/2018/tlnet-final is not signed – hoijui Sep 14 '19 at 18:54
  • Looks like url ftp://tug.org/historic/systems/texlive/2017/tlnet-final require password now – Alexey Shrub Jan 21 '20 at 13:55
  • 1
    If the ftp-link doesn't work (requires password), there are a couple of mirrors. See https://www.tug.org/historic/ for a full list. – Rens Baardman Apr 24 '20 at 11:26
17

You don't have to upgrade at all, you can stop at tl2017 (lots of people installed tex years ago and have never updated)

However if you want to update from one texlive to the next without doing a full install (which is the recommended route) then the texlive team have a page detailing what you need to do

https://www.tug.org/texlive/upgrade.html

Note that this URL is exactly the address given in the error message that you quoted in the question.

David Carlisle
  • 757,742
  • Thank you for your insights. I see that texlive has an update mechanism, but it seems that it involves more effort than doing a fresh install altogether. On the other hand, I was looking for a quick fix like the answer below. Sorry If the question wasn't clear though. – nikhilweee May 02 '18 at 17:03
  • @nikhilweee it is commands to type to do an in -place update but the usual reasons for doing it are to save download time by not doewnloading unchanged files and to save disk space by not having both versions installed. If you do not have those requirements then simply installing the new version is of course easier. – David Carlisle May 02 '18 at 18:14
  • 1
    This won't work: the user's TL is Debian's packaging. An in-place update would require an upstream installation. (At least, it certainly should.) I doubt such an update mechanism is designed to operate in user mode in such cases. – cfr May 02 '18 at 21:06
  • @cfr I did wonder (although most of the question applies to any TL) I thought the debian TL was always updated by the system apt-get, tlmgr also works does it? (if this answer is wrong, the debian packaged tlmgr's error message which gives the same link probably should be changed) – David Carlisle May 02 '18 at 21:14
  • The main tree is updated with apt. But there's a kind of watered-down version of tlmgr which users can use to install particular packages themselves. ... switching to user mode! is the give away. If this were upstream, it would not say that - either it would go ahead in sys mode or it would complain about permissions. I think the error message is supplied by the repository and not by tlmgr, but I'm not certain. I agree it is messed up, though. – cfr May 03 '18 at 03:13
  • The easiest/safest fix is probably the one I suggested: install the Debian package which provides listings using apt. This would avoid (at least in theory) any potential for version conflicts etc. – cfr May 03 '18 at 03:15
  • Note that the question is NOT about updating, but installing a package. A normal vanilla TL 2017 wouldn't lack listings. Of course, a system might not have scheme full installed, but a standard installation certainly would. – cfr May 03 '18 at 03:18
  • @cfr if you post an answer I'll add a note at the top of mine saying to see yours for debian packaged installs (or if you cover both I'll delete this, whichever you think best:-) – David Carlisle May 03 '18 at 06:50
  • @DavidCarlisle You said : "You don't have to upgrade at all, you can stop at tl2017 (lots of people installed tex years ago and have never updated)" What command should I type to stop at tl2017 ? – SebMa Nov 11 '20 at 11:24
  • @SebMa I just meant don't upgrade. The tex upgrade from 2017 to 2018 is not automatic, it only happens if you actively install the newer version. – David Carlisle Nov 11 '20 at 11:53
  • @DavidCarlisle I don't want to upgrade tex.But by your sentence, did you mean that when I see the error tlmgr: Remote repository is newer than local (2017 < 2018), I don't have to type any command to prevent this error from showing up ? – SebMa Nov 11 '20 at 12:04
  • @SebMa the site really does not work to ask multiple questions in comments on old answers. If you do not want to upgrade tex, do not use tlmgr and then you will not get warnings that it has failed. – David Carlisle Nov 11 '20 at 12:18
  • the link states "By default, please get the new TL by doing a new installation instead of proceeding here. You don't need to remove an existing installation." – lucidbrot Dec 24 '22 at 13:54
  • I need to clarify my comment: While they do state that doing a new install does not require removing the old one, they mean that doing so will lead to having multiple versions in parallel. Which is actually not what I wanted. – lucidbrot Dec 24 '22 at 23:07
2

TL; DR;

Get a fresh install of TeX Live, though you said you don't want to. The installation is easy and the newer one would be distinguishable from the older ones.

Story

I've been having texlive-latex-base by using apt-get on Ubuntu 18.04.
sudo apt-get install texlive-latex-base

When I was trying converting a Markdown file to a pdf file using pandoc I originally ran into a problem Error in TeX Live – Font … not loadable: Metric (TFM) file not found, then here.

But, immediately, I had a feeling that if I take one of these prescriptions I would be going through more uncertain problems in the later steps by intuition.

So, I decided to install an up-to-date version of TeX Live.
Starting from there, please follow the directions on the web page and it will take some time, maybe hours depending on your network condition.

0

I had this issue because although I installed the latest version of TexLive I didn't setup the PATH right. I would recommend if anyone has this issue to inspect the PATH variable and run

export PATH=/usr/local/texlive/2018/bin/x86_64-linux:$PATH

to make sure that the tlmgr of new installation is discovered before any other already in the system.

Mensch
  • 65,388
0

If possible, install 'MiKTeX' and typeset your document.

If 'listings' isn't installed when you start to typeset, it will install 'on the fly' ( if connected to the internet at the time ).