[Tex/LaTex] Installing and using XeTeX

debianinstallinglinuxtexlivexetex

I have tried to install XeTeX on my Debian system, but this does not appear to work. Here are the steps I took:

  • I loaded TeX Live 2011 with tlmgr -gui.
  • I loaded a repository.
  • I selected "not installed packages".
  • I selected "collection-xetex".
  • I clicked "install".
  • The log reported the installation of the included packages, including xetex.
  • Then a warning appeared saying "Running install collection-xetex failed. Please consult the log window for details."

The log reports the following:

/usr/local/bin/fmtutil: 1: xetex: not found
Error: `xetex -ini -jobname=xelatex -progname=xelatex -etex xelatex.ini' failed

#

fmtutil: Error! Not all formats have been built successfully.
Visit the log files in directory
/usr/local/texlive/2011/texmf-var/web2c
for details.

#

This is a summary of all failed' messages:
xetex -ini -jobname=xetex -progname=xetex -etex xetex.ini' failed
`xetex -ini -jobname=xelatex -progname=xelatex -etex xelatex.ini' failed

tlmgr: exiting unsuccessfully (status 1).

Some additional details:

  • I was unable to find a xelatex command anywhere in the path.
  • Rebooting the computer resulted in no known change.
  • Uninstalling and reinstalling from a different repository produced identical results.
  • The TeX Live Manager 2011 GUI currently reports that "collection-xetex" is installed.

What do I need to do to get XeTeX working?

Best Answer

The problem lies in the fact that you chose to create symbolic links for the executables in /usr/local/texlive/2011/bin/<architecture> to /usr/local/bin.

With tlmgr there's the possibility to update them, but the action is not performed automatically.

However, my advices are:

  1. Always install the full TeX Live

  2. Never create symbolic links, particularly on Debian based systems

If you don't have strict space constraints, do a full TeX Live install. It would have avoided the problem of installing the XeTeX subsystem.

Changing what's in /usr/local/bin is dangerous as other system utilities may choose to install something there. It's better to change the PATH variable and the safest method is to write a file zzz-texlive.sh containing

export PATH=/usr/local/texlive/2011/bin/`uname -i`-linux:$PATH
export MANPATH=/usr/local/texlive/2011/texmf/doc/man:$MANPATH
export INFOPATH=/usr/local/texlive/2011/texmf/doc/info:$INFOPATH
unset TEXINPUTS
unset TEXMFCONFIG

and move it into /etc/profile.d. After a logout/login cycle, the PATH variable will contain the correct directory for the executables.