8

Today's updates of MiKTeX include Xindy (at last!). This is great news, but unfortunately I can't get it to work. With the following minimal example:

\documentclass{article}
\usepackage[xindy]{glossaries}
\newacronym{AKA}{AKA}{Also Known As}
\makeglossaries
\begin{document}
\glsaddall
\printglossaries
\end{document} 

makeglossaries fails with exit code 25. This is the contents of the .glg file:

;; This logfile was generated automatically by `xindy'
;; at 20.06.2015  07:29:59
;; Indexstyle: "5i3SDna0ed", Rawindex: "Yl65BHMXsP", Output: "test1.gls"

ERROR: "" is not a valid filename !

*** Unable to execute: '"xindy"  -L english  -I xindy -M "test1" -t "test1.glg" -o "test1.gls" "test1.glo"' ***

Failed with error code 1.

Status report:

Opening logfile "test1.glg" (done)
Reading indexstyle...
Loading module "5i3SDna0ed"...

Error in line 1:
(require "")
ERROR: "" is not a valid filename !

and this is the contents of the generated 5i3SDna0ed file

(require "")
(require "test1.xdy")

Do I need to configure something to get Xindy to work?

  • You might want to add the glossaries tag as well. Then perhaps Nicola will notice the issue (Nicola is the writer of the glossaries package). She is on the site. – daleif Jun 20 '15 at 6:41
  • Also it is a strange error. I don't see anything wrong with the line it is attempting to execute – daleif Jun 20 '15 at 6:42
  • In my case, line 1 of test1.xdy is (require "tex.xdy"). I think (require "") is strange. – Akira Kakuto Jun 20 '15 at 7:55
  • I would like to look at it, but I don't have the update yet and the repositories are down currently so I can't get it. So it will have to wait ... – Ulrike Fischer Jun 20 '15 at 11:17
  • 1
    @UlrikeFischer I bet that the error comes from the fact I installed MiKTeX in a directory containing spaces. – Sterry Jun 23 '15 at 14:28
7

The problem is indeed related to a MiKTeX installation in a path containing spaces. It can be solved by a small edit in C:\Program Files\MiKTeX2.9\scripts\xindy\xindy.pl

replace in line 779

        @styles = glob("$lang_dir/$variant$cp*-lang.xdy");

by

        @styles = glob("'$lang_dir/$variant$cp*-lang.xdy'");
  • 1
    BTW: Welcome to TeX.SX! – Sterry Jun 23 '15 at 19:09
  • 1
    Joachim says that the solution may break xindy on Unix. Thus we have changed slightly in TeX Live (r37716). The new one is tested to work fine on Windows in the case where $lang_dir contains space(s). – Akira Kakuto Jun 30 '15 at 7:25

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.