cfr はかつて次のような質問をし、答えました。libncurses.so.6 を搭載したシステムで xindy を使用するにはどうすればよいですか?
簡単に言うと、実際のファイル(ヘルプメニューではない)でxindy/texindyを実行すると、次のような結果になります。
/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
問題は、与えられた解決策が今日ではもう機能しないことです。最新の TeX Live 2017 (バニラ) と AUR にアクセスできる Arch Linux x64 を実行して、回答に示されているパッケージを使用しようとしました。残念ながら、どちらも検証できず、署名チェックをスキップしても役に立ちません。
おそらく、xindy を別のライブラリに対して手動でコンパイルすると機能する可能性がありますが、バージョン 2.5.1 (またはそれ以降) の公式ソースはどこにありますか?
あるいは、xindy を「最新の」OS で動作させる別の方法があるのでしょうか?
アップデート:私は2010年からの古代の資料をまとめようとした。ここ(CVS) では、必須のバイナリとコード ファイルは 1996 年のものです (残念ながら見つかりませんでした)。また、xindy のホームページでは xindy 2.2 がリリース候補であると説明されていますが、TeX Live 2017 には xindy 2.5.1 が同梱されています。
アップデート2:@DavidCarlisleがチャットで示したように、通常の動作は次のようになります
$ 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
ライブラリが欠落しているため、カーネル バージョンと clisp バージョンも表示されません。
答え1
さて、いろいろいじった結果、2 つの解決策が見つかりました。
CFRの提案に従ってください
互換性パッケージをインストールします。Archではこれ
ncurses5-compat-libs
かlib32-ncurses5-compat-libs
(TLのアーキテクチャに応じて)です。現在、パッケージはncurses5-compat-libs
古いとマークされていますが、まだ動作します。そして、これらのパッケージの整合性チェックを(現在)次のようなものを使用してスキップする必要があります。yaourt --m-arg --skipchecksums --m-arg --skippgpcheck -Sb ncurses5-compat-libs
実行し
sudo ldconfig
てライブラリ キャッシュを再構築します。xindy
実行されるはずです。
- 最初からコンパイルする(すべてのディストリビューションで動作するはずです)
- TeX Liveをソースリポジトリからダウンロードします(手順を参照)。ここ)
- xindyディレクトリに変更します(
utils/xindy
) - 実行してください
./configure
。必要な場合は、まず必要な TeX Live の基本をコンパイルしてください。 - を実行します
make
。エラーが発生しますUnescaped left brace in regex is illegal here in regex
。ディレクトリ内の perl ファイルを開き、 l. 11 のxindy-src/modules/inputenc
先頭部分をエスケープします( のように)。もう一度実行します。{
if (/\\indexentry\{(.+)--([8-9a-f][0-9a-f])\}\{1\}/) {
make
- インストールを楽しんでください。TL の元の xindy をバックアップして置き換えるのがよい方法です。うまくいかない場合は、ガイドの 1 つを探してください。