%EC%9D%84%20%EC%97%85%EA%B7%B8%EB%A0%88%EC%9D%B4%EB%93%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
일부 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