cfr uma vez perguntou e respondeu à seguinte pergunta:Como posso usar o xindy em um sistema com libncurses.so.6?
Resumindo: toda execução de xindy/texindy em um arquivo real (não no menu de ajuda) termina com algo como
/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
O problema é que a solução dada não funciona mais hoje em dia. Executando um TeX Live 2017 (vanilla) atualizado e Arch Linux x64 com acesso ao AUR tentei usar os pacotes fornecidos na resposta. Infelizmente, ambos não podem ser validados e mesmo ignorar a verificação da assinatura não ajuda.
Provavelmente funcionaria compilando o xindy manualmente em outra biblioteca, mas onde estão as fontes oficiais com a versão 2.5.1 (ou mais recente)?
Ou talvez haja outra maneira de fazer o xindy funcionar em um sistema operacional "moderno"?
Atualizar:Tentei compilar as fontes antigas de 2010 deaqui(CVS) onde todos os binários e arquivos de código essenciais são de 1996 (sem sorte). E a página inicial do xindy fala sobre o xindy 2.2 ser um candidato a lançamento, embora o TeX Live 2017 seja fornecido com o xindy 2.5.1.
Atualização 2:Como @DavidCarlisle mostrou no chat o comportamento normal seria
$ 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
Por causa da biblioteca ausente, a versão do kernel e a versão do clip nem aparecem.
Responder1
Ok, depois de mexer muito, aqui estão duas soluções funcionais:
Faça como CFR sugerido
Instale pacotes de compatibilidade, no Arch é
ncurses5-compat-libs
oulib32-ncurses5-compat-libs
(conforme sua arquitetura de TL precisar). Atualmente o pacotencurses5-compat-libs
está desatualizado, mas ainda funciona. E você precisa pular a verificação de integridade desses pacotes (atualmente) usando algo comoyaourt --m-arg --skipchecksums --m-arg --skippgpcheck -Sb ncurses5-compat-libs
Execute
sudo ldconfig
para reconstruir o cache da biblioteca.xindy
deveria ser executado.
- Compilar do zero(deve funcionar para todas as distribuições)
- Baixe o TeX Live de seus repositórios de origem (veja as instruçõesaqui)
- Mude para o diretório xindy (
utils/xindy
) - Fazer
./configure
. Se for necessário compilar primeiro os fundamentos necessários do TeX Live. - Fazer
make
. Você encontrará um erroUnescaped left brace in regex is illegal here in regex
. Abra o arquivo perl noxindy-src/modules/inputenc
diretório e escape da abertura{
em l. 11 (comoif (/\\indexentry\{(.+)--([8-9a-f][0-9a-f])\}\{1\}/) {
). Corramake
novamente. - Divirta-se com a instalação. Uma boa tentativa é fazer backup dos TLs origin xindy e substituí-los. Se não funcionar procure um dos guias.