Ausführen von xindy auf einem aktuellen Betriebssystem

Ausführen von xindy auf einem aktuellen Betriebssystem

cfr hat einmal folgende Frage gestellt und beantwortet:Wie kann ich xindy auf einem System mit libncurses.so.6 verwenden?

Kurz gesagt: jeder Lauf von xindy/texindy auf einer tatsächlichen Datei (nicht dem Hilfemenü) endet mit etwas wie

/usr/local/texlive/2017/bin/x86_64-linux/xindy.run: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

Das Problem ist, dass die angegebene Lösung heutzutage nicht mehr funktioniert. Ich habe versucht, die in der Antwort angegebenen Pakete zu verwenden, indem ich ein aktuelles TeX Live 2017 (Vanilla) und Arch Linux x64 mit Zugriff auf AUR ausgeführt habe. Leider können beide nicht validiert werden und selbst das Überspringen der Signaturprüfung hilft nicht.

Wahrscheinlich könnte es funktionieren, xindy manuell mit einer anderen Bibliothek zu kompilieren, aber wo sind die offiziellen Quellen mit Version 2.5.1 (oder neuer)?

Oder gibt es vielleicht eine andere Möglichkeit, xindy auf einem „modernen“ Betriebssystem zum Laufen zu bringen?

Aktualisieren:Ich habe versucht, die alten Quellen aus dem Jahr 2010 zusammenzustellen ausHier(CVS), wo alle wesentlichen Binärdateien und Codedateien aus dem Jahr 1996 stammen (kein Glück). Und auf der xindy-Homepage wird davon gesprochen, dass xindy 2.2 ein Release Candidate ist, obwohl TeX Live 2017 mit xindy 2.5.1 ausgeliefert wird.

Aktualisierung 2:Wie @DavidCarlisle im Chat gezeigt hat, wäre das übliche Verhalten

$ xindy --version
xindy release: 2.5.1
xindy script version: 1.18
xindy kernel version: 3.0
CLISP version 2.49.50 (2017-03-19) (built on desktop-new [192.168.1.4])
    architecture: X86_64

Aufgrund der fehlenden Bibliothek werden die Kernel-Version und die Clisp-Version nicht einmal angezeigt.

Antwort1

Okay, nach langem Herumprobieren sind hier zwei funktionierende Lösungen:

  1. Machen Sie es wie von CFR vorgeschlagen

    1. Installieren Sie Kompatibilitätspakete, bei Arch ist dies ncurses5-compat-libsoder lib32-ncurses5-compat-libs(wie es Ihre TL-Architektur erfordert). Derzeit ncurses5-compat-libsist das Paket als veraltet markiert, funktioniert aber noch. Und Sie müssen die Integritätsprüfung für diese Pakete (derzeit) überspringen, indem Sie etwas wie

       yaourt --m-arg --skipchecksums --m-arg --skippgpcheck -Sb ncurses5-compat-libs
      
    2. Ausführen sudo ldconfig, um den Bibliothekscache neu zu erstellen.

    3. xindylaufen sollte.
  2. Von Grund auf kompilieren(sollte für alle Distributionen funktionieren)
    1. Laden Sie TeX Live aus den Quell-Repos herunter (siehe AnweisungenHier)
    2. Wechseln Sie in das Verzeichnis xindy ( utils/xindy)
    3. Tun Sie dies ./configure. Falls erforderlich, kompilieren Sie zuerst die erforderlichen TeX Live-Grundlagen.
    4. Tun Sie dies make. Es wird ein Fehler auftreten Unescaped left brace in regex is illegal here in regex. Öffnen Sie die Perl-Datei im xindy-src/modules/inputencVerzeichnis und verlassen Sie die Öffnung {in Zeile 11 (wie if (/\\indexentry\{(.+)--([8-9a-f][0-9a-f])\}\{1\}/) {). Führen Sie es makeerneut aus.
    5. Viel Spaß bei der Installation. Ein guter Versuch ist, TLs Origin Xindy zu sichern und zu ersetzen. Wenn das nicht funktioniert, suchen Sie nach einer der Anleitungen.

verwandte Informationen