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:
Machen Sie es wie von CFR vorgeschlagen
Installieren Sie Kompatibilitätspakete, bei Arch ist dies
ncurses5-compat-libs
oderlib32-ncurses5-compat-libs
(wie es Ihre TL-Architektur erfordert). Derzeitncurses5-compat-libs
ist 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 wieyaourt --m-arg --skipchecksums --m-arg --skippgpcheck -Sb ncurses5-compat-libs
Ausführen
sudo ldconfig
, um den Bibliothekscache neu zu erstellen.xindy
laufen sollte.
- Von Grund auf kompilieren(sollte für alle Distributionen funktionieren)
- Laden Sie TeX Live aus den Quell-Repos herunter (siehe AnweisungenHier)
- Wechseln Sie in das Verzeichnis xindy (
utils/xindy
) - Tun Sie dies
./configure
. Falls erforderlich, kompilieren Sie zuerst die erforderlichen TeX Live-Grundlagen. - Tun Sie dies
make
. Es wird ein Fehler auftretenUnescaped left brace in regex is illegal here in regex
. Öffnen Sie die Perl-Datei imxindy-src/modules/inputenc
Verzeichnis und verlassen Sie die Öffnung{
in Zeile 11 (wieif (/\\indexentry\{(.+)--([8-9a-f][0-9a-f])\}\{1\}/) {
). Führen Sie esmake
erneut aus. - 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.