Ubuntu 20.04에서 v 2.31 이상으로 libc6(glibc)을 업그레이드하는 방법은 무엇입니까?

Ubuntu 20.04에서 v 2.31 이상으로 libc6(glibc)을 업그레이드하는 방법은 무엇입니까?

일부 GUI 내에서 Stockfish 체스 엔진을 사용하고 있는데 어제 작동이 멈췄습니다. 엔진이나 인터페이스를 변경하지 않았지만 엔진을 실행하려고 하면 "코드로 종료되었습니다...", 그러나 어떤 코드도 출력하지 않았습니다. 변경될 수 있는 유일한 것은 정기적으로 패키지를 업그레이드한다는 것입니다: sudo apt update && sudo apt dist-upgrade그리고 이로 인해 문제가 발생한 것 같습니다. 최신 Stockfish 버전을 설치하고 명령줄에서 실행했는데 결과는 다음과 같습니다.

./stockfish_21112912_x64_avx2: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./stockfish_21112912_x64_avx2)
./stockfish_21112912_x64_avx2: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./stockfish_21112912_x64_avx2)
./stockfish_21112912_x64_avx2: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./stockfish_21112912_x64_avx2)

그래서 저는 GLIBC를 업그레이드하고 싶었고 다음 스레드를 발견했습니다: [https://askubuntu.com/questions/736208/upgrading-glibc]: "Glibc(GNU C 라이브러리로 더 잘 알려져 있음)에는 libc6이라는 Linux용 포크가 있습니다. .Libc6은 apt를 통해 사용할 수 있습니다." 나는 다음을 실행했습니다. apt-cache policy libc6결과는 다음과 같습니다.

libc6:
  Installed: 2.31-0ubuntu9.2
  Candidate: 2.31-0ubuntu9.2
  Version table:
 *** 2.31-0ubuntu9.2 500
        500 http://de.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     2.31-0ubuntu9 500
        500 http://de.archive.ubuntu.com/ubuntu focal/main amd64 Packages

"일반" 패키지 내에서 2.31이 내 OS 버전(Ubuntu 20.04)의 공식 버전임을 알려줍니다.

그래서 수동으로 시도해 보았습니다.libc6 버전 >= 2.29를 설치하는 방법은 무엇입니까?

libc6_2.34-0ubuntu3_amd64.deb를 다음에서 다운로드했습니다.http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/, 설명한 대로 실행했지만 다음을 실행했을 때 sudo dpkg -i libc6_2.34-0ubuntu3_amd64.deb다음 오류가 발생했습니다.

dpkg: regarding libc6_2.34-0ubuntu3_amd64.deb containing libc6:amd64:
 libc6:amd64 breaks fakeroot (<< 1.25.3-1.1ubuntu2~)
  fakeroot (version 1.24-1) is present and installed.

dpkg: error processing archive libc6_2.34-0ubuntu3_amd64.deb (--install):
 installing libc6:amd64 would break fakeroot, and
 deconfiguration is not permitted (--auto-deconfigure might help)
Errors were encountered while processing:
 libc6_2.34-0ubuntu3_amd64.deb

이 문제를 어떻게 해결하나요? 저는 약간 초보자이므로 시스템을 손상시키지 않는 것이 좋습니다.

답변1

주목해야 할 점은https://abrok.eu/stockfish/공식적인 것은 아니지만 저자는 패키지가 Ubuntu 21.10에서 gcc 11.2/mingw 10으로 컴파일되었다고 분명히 말합니다.
이전 버전인 20.04 LTS를 실행하는 동안에는 이전 libc 및 기타 핵심 시스템 구성 요소도 포함됩니다.

두 가지 가능한 해결책이 있습니다.

  • 개발자의 공식 패키지

    Ubuntu용 StockFish 패키지기울기개발자의 웹사이트로 다음 URLhttps://stockfishchess.org. 그러니 꼭 방문해보세요https://stockfishchess.org/download/linux/그런 다음 관련 소프트웨어 배포판을 다운로드하십시오. 이 글을 쓰는 시점에서는 다음과 같이 프로그래밍 방식으로 수행할 수 있습니다.

    cd ~/Downloads
    wget -c https://stockfishchess.org/files/stockfish_14.1_linux_x64_avx2.zip
    unzip stockfish_14.1_linux_x64_avx2.zip
    cd stockfish_14.1_linux_x64_avx2
    chmod +x stockfish_14.1_linux_x64_avx2
    

    그런 다음 ./stockfish_14.1_linux_x64_avx2.

    참고: 18.04 LTS에서도 실행되며 libc에 대해 불평하지 않습니다.

  • 일부 타사 PPA

    발견StockFish에 대한 PPA가 가능합니다. 예를 들어 다음과 같이 끝날 것입니다.20.04 LTS용 StockFish 12.2 deb 패키지, 아래 명령을 사용하여 설치할 수 있습니다.

    sudo add-apt-repository ppa:savoury1/games
    sudo apt-get update
    sudo apt-get install stockfish
    

    참고: 여기서는 AVX2 최적화에 대해 잘 모르겠습니다.

    기본값으로 되돌리는 중11.1 버전아래 명령을 사용하면 가능합니다.

    sudo apt-get install ppa-purge
    sudo ppa-purge ppa:savoury1/games
    

답변2

Ubuntu 20.04의 Stockfish 15와 동일한 문제가 있었습니다. 그러나 다음 지침에 따라 소스에서 컴파일하는 것은 그리 어렵지 않습니다.https://github.com/official-stockfish/Stockfish#compiling-stockfish-yourself-from-the-sources

cd src
make help

그런 다음 지원되는 최신 아치를 확인하세요. grep bmi2 /proc/cpuinfo적절한 아치로 만드십시오.

make net 
make build ARCH=x86-64-bmi2

관련 정보