Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Today my TeX Live 2013 stopped updating packages. I use tlmgr to update packages but it's crashing with the following error:

$ sudo tlmgr update
Unknown docfile tag:  texmf-dist/doc/latex/pythontex/pythontex_quickstart.pdf details=""Quick start" documentation" at /usr/local/texlive/2013/tlpkg/TeXLive/TLPOBJ.pm line 127, <TMP> line 127939.

The command

 sudo tlmgr update --self --all --reinstall-forcibly-removed

does not fix it.

share|improve this question
8  
For some reasons, the double quotes surrounding Quick Start are not escaped. There is already a fix by Norbert, I guess we all just need to know how to fix our own distribution. For the moment I solved it myself by editing /usr/local/texlive/2013/tlpkg/texlive.tlpdb and removing (or escaping with \") those quotes (see tug.org/pipermail/tex-live/2013-September/034150.html) –  egreg Sep 15 '13 at 9:00
1  
Thanks ChrisS for you help. In my case replacing the TLPOBJ.pm file with the trunk version solved the problem. –  seeberg Sep 15 '13 at 9:07
    
@egreg: Please convert that comment into an answer. –  Martin Schröder Sep 15 '13 at 21:16

5 Answers 5

For some reasons (a bug in the Perl script, it appears), the double quotes surrounding Quick Start in the docfile tag are not properly escaped.

A fix has already been uploaded in the TeX Live repository, (see here for the differences or here for downloading the new version of the Perl module).

The easiest fix, before the new version of tlmgr propagates, is to remove the offending quotes from the file located at

/usr/local/texlive/2013/tlpkg/texlive.tlpdb

so the line becomes

texmf-dist/doc/latex/pythontex/pythontex_quickstart.pdf details="Quick start documentation"

The error message one gets shows the line number, which can vary depending on many factors: in your case it's at line 127939, on my system it was different (128963). On standard TeX Live installations, editing the file requires superuser privileges.

UPDATE

As of September 18, 2013, it seems that all traces of the bad quotes have disappeared from the catalogues. So, whoever didn't update TeX Live in the past few days should experience no problems and updating TeX Live should happen without any problem.

Here's how to proceed in case an update in the last few days has triggered the "misplced quote" bug.

MacTeX

MacTeX users experimenting the problem should, when experiencing problems,

  1. Launch TeX Live Utility and reinstall tlmgr: menu “Actions > Reinstall TeX Live Manager”

  2. Relaunch TeX Live Utility

  3. Perform the infrastructure update

  4. Update all TeX Live packages

Prior to the full update it may not be possible to access at the package list tab, because a wrong pythontex entry hangs the Python script used by TeX Live Utility.

GNU/Linux systems

Users running a vanilla TeX Live on their GNU/Linux systems should

  1. Download http://mirror/ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh either with wget or curl -O

  2. Acquire super user privileges and run sh update-tlmgr-latest.sh making sure that the TeX Live binaries directory is first in the root user's PATH variable; for example (assuming a Bash shell)

    sudo su
    export PATH=/opt/texbin:${PATH}
    sh update-tlmgr-latest.sh
    tlmgr update --self
    tlmgr update --all
    exit
    

    The /opt/texbin should be replaced by the actual path to the TeX Live binaries or by a symbolic link pointing to it (on my GNU/Linux systems I always define a symbolic link /opt/texbin).

share|improve this answer
2  
Hi I discovered the same issue. However i do not see the line texmf-dist/doc/latex/pythontex/pythontex_quickstart.pdf details="Quick start documentation" in my texlive.tlpdb Are there any suggestions how to solved this –  wierts Sep 16 '13 at 8:54
1  
@wierts Reinstall tlmgr; how to do it depends on your system. With TeX Live Utility there's a menu entry for it. –  egreg Sep 16 '13 at 9:08
1  
Editing this line quite simply does not fix the problem. Even grepping the directory per nitrous's suggestion and changing them all does not fix the problem. The suggestion to reinstall tlmgr does not work, because tlmgr will not update or reinstall itself because of the error. –  frabjous Sep 16 '13 at 22:58
    
@frabjous On one machine I had the error, even if pythontex was not installed; I asked TeX Live Utility to reinstall tlmgr and it happened without a glitch. –  egreg Sep 17 '13 at 8:05
1  
Using the TLPOBJ.pm was the best solution for me. –  option_select Sep 17 '13 at 9:45

In my case the problem was


tlpkg/TeXLive/TLPOBJ.pm line 127,  line 128047.

What I did in emacs was just M-x goto-line and go to line 127 and got rid of die "Unknown docfile tag: $line";

I also removed the line # vim:set tabstop=2 expandtab: #

Then I just tlmgr update --self and updated all the packages afterwards.

Update 18 September 2013

Whoever wishes to update TeX Live through tlmgr, should do so without any further inconvenience.

So by just invoking tlmgr update --self which should install the updates for texlive.infra, followed by tlmgr update --all. Remember to mktexlsr or texhash if applicable. Happy TeXing!

share|improve this answer
    
This is the only suggestion that actually worked for me. I worry that it's not terribly safe, however. (There's no need to remove the vim line, however.) –  frabjous Sep 16 '13 at 23:02
    
@frabjous i'm glad it worked for you. The revision 31655 had the offending line die "Unknown docfile tag: $line"; The revision that followed or 31656, showed die "Unparsable tagging in line: =$line="; After updating tlmgr, and as expected, the line in question (in my case, no longer was 127) in the file TLPBJ.pm shows warn "Unparsable tagging in TLPDB line: =$line="; –  doed Sep 17 '13 at 16:33
    
Now, this is where it gets interesting. According to karl: (from_fh): warn instead of die if we cannot parse the doc file attributes; hopefully it's not that important. So I went ahead and changed it to die. And it updated fine. [1/2, ??:??/??:??] update: tcolorbox [2180k] (31316 -> 31674) ... done [2/2, 00:10/00:10] update: texlive-docindex [199k] (31650 -> 31668) ... done –  doed Sep 17 '13 at 16:51

Here is my solution for Mac OS X:

cd /usr/local/texlive/2013/tlpkg/TeXLive/
mv TLPOBJ.pm TLPOBJ-31644.pm
curl http://tug.org/svn/texlive/trunk/Master/tlpkg/TeXLive/TLPOBJ.pm?view=co -o TLPOBJ.pm

Then you can run:

sudo tlmgr update

Note that it would be better to delete unnecessary backup file:

rm /usr/local/texlive/2013/tlpkg/TeXLive/TLPOBJ-31644.pm
share|improve this answer

There may be several files which contain this error, if you still get this after trying egreg's solution, you can try searching /usr/local/texlive/2013/tlpkg/tlpobj/pythontex.tlpobj for ""Quick start" documentation" and removing the extraneous quotes.

If you still get the error, you could try running grep -nr '"Quick start"' /usr/local/texlive/2013/tlpkg. This should list any more files with the offending quotes in. Note that some files listed by this command may be backups of earlier files, but it probably doesn't matter too much if you change those as well.

How to use vim to correct the error

If you are unsure of how to edit the files, try:

sudo vim /path/to/file

Then type the line number, followed by G (such as 127939G in OP's case; the grep tool should tell you the line numbers of any extra copies if needed). Next, type i, then use the arrow keys to navigate to the offending quotes and delete them with backspace. Finally, press the escape key, type :x, and press enter.

If nothing works (last resort)

Firstly, you should try to wait for the new tlmgr update to filter through in case that provides a simple fix in the next few days.

Otherwise, to manually uninstall TeXLive, try the following (make sure this is how it is installed in your machine):

sudo rm -Rf /usr/local/texlive/2013
sudo rm -Rf /usr/local/texlive/texmf-local

This should allow you to reinstall again. Watch out though, when you reinstall TeXLive (depending on the version you downloaded) you may install the ""Quick start" documentation" bug again!

N.B. My tips assume you are running this on a *nix system (UNIX, Linux, OS X, etc).

share|improve this answer
    
Did this. Changed three files. Still didn't work. –  frabjous Sep 16 '13 at 22:58
    
@frabjous Sorry to hear that. I think you have two options, either wait for the new update to come (which hopefully will install fine for you), or you can try manually uninstalling TeX Live. I'll update my answer to show how to do this. –  nitrous Sep 17 '13 at 14:34
    
@frabjous -- the answer given by Takeshi Nagae worked for me, without having to uninstall and reinstall vast parts of the TeXLive distribution. :-) –  Mico Sep 18 '13 at 9:57
    
I seemed to get the problem reoccur today unfortunately, but I tried that answer and it also seemed to work for me :) –  nitrous Sep 18 '13 at 13:14

This one-liner should do the trick (this assumes a global installation into /usr/local/, so modify the destination to suit your installation, and skip the sudo if it's a single-user install)

sudo wget http://mirrors.ctan.org/systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm -O /usr/local/texlive/2013/tlpkg/TeXLive/TLPOBJ.pm

This is the what seeberg suggested in the comments, but this should more or less dummy-proof it.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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