Introduction to xindy

Xindy is an index processor that can be used to generate book-like indexes for arbitrary document-preparation systems. This includes systems such as TeX and LaTeX, the roff-family, SGML/XML-based systems (e.g., HTML) that process some kind of text and generate indexing information.

This package is known to build and work properly using an LFS-8.0 platform.

Package Information

Required Additional Downloads

Xindy Dependencies


Clisp-2.49, texlive-20160523b

User Notes:

Installation of xindy

Install xindy by running the following commands:

export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &&

sed -i "s/ grep -v '^;'/ awk NF/" make-rules/inputenc/ &&

patch -Np1 -i ../xindy-2.5.1-upstream_fixes-1.patch &&

./configure --prefix=/opt/texlive/2016              \
            --bindir=/opt/texlive/2016/bin/$TEXARCH \
            --datarootdir=/opt/texlive/2016         \
            --includedir=/usr/include               \
            --libdir=/opt/texlive/2016/texmf-dist   \
            --mandir=/opt/texlive/2016/texmf-dist/doc/man &&


This package does not have a testsuite.

Now, as the root user:

make install

Command Explanations

sed -i "s/ grep -v '^;'/ awk NF/" ...: The build sorts files in latin{1..3} encodings to create latin.xdy, and unicode versions of these to create utf8.xdy after using grep -v '^;' to remove blank lines. With grep-2.23 any data not in the expected encoding is treated as binary, resulting in a useless file. This command uses an alternative way of removing blank lines.

patch -Np1 -i ../xindy-2.5.1-upstream_fixes-1.patch: Xindy is now maintained at CTAN. This patch updates the source to match what is used for the 2016 texlive binary version ( but ignoring changes which were only made to allow for spaces in pathnames).

--prefix=, --bindir=, --datarootdir=, --infodir=, --mandir= ... : these switches ensure that the files installed from source will overwrite any corresponding files previously installed by install-tl-unx so that the alternative methods of installing texlive are consistent..

--includedir=/usr/include: This parameter ensures that the kpathsea headers from texlive-20160523b will be found.

make LC_ALL=POSIX: with the current version of coreutils it is essential to build xindy in the POSIX (or C) locale because in a UTF-8 locale the file latin.xdy will contain only a heading and then a line 'Binary file (standard input) matches' instead of the many lines of lisp merge-rule commands it ought to contain.


Installed Programs: tex2xindy, texindy, xindy
Installed Libraries: None
Installed Directory: /opt/texlive/2016/texmf-dist/xindy

Short Descriptions


transforms a LaTeX index file into a xindy raw index file.


is a wrapper for xindy that turns on many LaTeX conventions by default.


creates a sorted and tagged index from a raw LaTeX index.

Last updated on 2017-02-16 20:33:09 -0800