2

I upgraded from texlive 2007 to texlive 2014 on my Mac OS X. Now source files that previously compiled fine give the error messages below. I looked at the previous question suggesting to do "tlmgr install oberdiek" and I did that, but these same errors still happen.

(/usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty

LaTeX Warning: You have requested, on input line 4835, version
               `2010/09/13' of package ifpdf,
               but only version
               `2007/12/12 v1.6 Provides the ifpdf switch (HO)'
               is available.

)

LaTeX Warning: You have requested, on input line 2345, version
               `2010/04/08' of package infwarerr,
               but only version
               `2007/09/09 v1.2 Providing info/warning/message (HO)'
               is available.

)

LaTeX Warning: You have requested, on input line 125, version
               `2010/04/08' of package infwarerr,
               but only version
               `2007/09/09 v1.2 Providing info/warning/message (HO)'
               is available.

(/Users/stmv/Library/texmf/tex/latex/oberdiek/auxhook.sty)

LaTeX Warning: You have requested, on input line 134, version
               `2009/12/14' of package auxhook,
               but only version
               `2007/04/06 v1.1 Hooks for auxiliary files (HO)'
               is available.

(/Users/stmv/Library/texmf/tex/latex/oberdiek/kvoptions.sty)

LaTeX Warning: You have requested, on input line 262, version
               `2009/07/21' of package kvoptions,
               but only version
               `2007/10/18 v3.0 Keyval support for LaTeX options (HO)'
               is available.

(/usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/pd1enc.def)
(/usr/local/texlive/2014/texmf-dist/tex/latex/latexconfig/hyperref.cfg)
! Undefined control sequence.
l.4284 \DeclareLocalOptions
                           {%

! LaTeX Error: Missing \begin{document}.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.4285   a
          4paper,a5paper,b5paper,letterpaper,legalpaper,executivepaper%
(/usr/local/texlive/2014/texmf-dist/tex/latex/url/url.sty
  • Welcome to TeX.SX! It seems that you have several old packages in your personal tree; rename ~/Library/texmf to something else and then retry. – egreg Mar 3 '15 at 11:20
  • Welcome to TeX-sx! Your log extract suggests you've got various 'local' files in ~/Library/texmf which are probably conflicting with your updated install. What happens if you move them out of the way? – Joseph Wright Mar 3 '15 at 11:21
  • Thank you both for the good suggestion; this did indeed fix my problem. I had no idea that there was this possibility of conflict between my personal tree in Library, and the "real" files. It's not clear to me how my personal tree got there in the first place, but I'm happy that I can now compile without these errors. – tmccormick4 Mar 3 '15 at 12:42
2

There are three places where TeX Live looks for files; in order from least to highest priority they are

  • /usr/local/texlive/<year>/texmf-dist, aka TEXMFMAIN
  • /usr/local/texlive/texmf-local, aka TEXMFLOCAL
  • ~/texmf (generic TeX Live) or ~/Library/texmf (MacTeX), aka TEXMFHOME

The first location is only acted upon by tlmgr or utilities based on it, such as TeX Live Utility on Mac OS X.

The second location is good for files pertaining to packages or fonts that are not included in TeX Live for licensing reasons; it's a system administrator's responsibility to act on it. Files in it are accessible to all users.

The third location, which has the highest priority, can be read only by the account owner (the ~ above stands for the home directory, in your case /Users/stmv).

The extract from your log file shows that kvoptions.sty is located in TEXMFHOME, you probably downloaded a newer version than the one in TeX Live 2007 and unzipped it in that location.

When LaTeX is ordered to look for kvoptions.sty it doesn't do version checking, but only matches file names. Since it finds the file in the highest priority tree, it stops its search and loads the file.

Temporary solution: rename the folder ~/Library/texmf to something else (say ~/Library/texmf-obsolete), which will disable it. Then create a new ~/Library/texmf folder where you'll transfer only those old files that are really necessary and are not older than distributed files.

For instance, in my own ~/Library/texmf/tex/latex folder I keep only my private class files and I have an experimental format in ~/Library/texmf/web2c/pdftex.

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.