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
문제는 주어진 솔루션이 요즘 더 이상 작동하지 않는다는 것입니다. AUR에 액세스하여 최신 TeX Live 2017(바닐라) 및 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
자, 여기저기서 많은 고민 끝에 두 가지 해결 방법이 있습니다.
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의xindy-src/modules/inputenc
열기를 이스케이프합니다 .{
11 (처럼if (/\\indexentry\{(.+)--([8-9a-f][0-9a-f])\}\{1\}/) {
). 다시 뛰어make
. - 설치를 즐겨보세요. 좋은 시도는 TL 원본 xindy를 백업하고 교체하는 것입니다. 작동하지 않으면 가이드 중 하나를 찾으십시오.