최신 OS에서 xindy 실행

최신 OS에서 xindy 실행

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

자, 여기저기서 많은 고민 끝에 두 가지 해결 방법이 있습니다.

  1. CFR이 제안한대로 수행

    1. Arch에 호환성 패키지를 설치하십시오 ncurses5-compat-libs( lib32-ncurses5-compat-libsTL 아키텍처에 필요에 따라). 현재 패키지는 ncurses5-compat-libs오래된 것으로 표시되어 있지만 여전히 작동합니다. 그리고 다음과 같은 것을 사용하여 (현재) 해당 패키지에 대한 무결성 검사를 건너뛰어야 합니다.

       yaourt --m-arg --skipchecksums --m-arg --skippgpcheck -Sb ncurses5-compat-libs
      
    2. sudo ldconfig라이브러리 캐시를 재구축하려면 실행하세요 .

    3. xindy실행해야합니다.
  2. 처음부터 컴파일(모든 배포판에서 작동해야 함)
    1. 소스 저장소에서 TeX Live를 다운로드합니다(지침 참조).여기)
    2. xindy 디렉터리( utils/xindy) 로 변경합니다.
    3. 하다 ./configure. 필요한 경우 필요한 TeX Live 기본 사항을 먼저 컴파일하십시오.
    4. 하다 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.
    5. 설치를 즐겨보세요. 좋은 시도는 TL 원본 xindy를 백업하고 교체하는 것입니다. 작동하지 않으면 가이드 중 하나를 찾으십시오.

관련 정보