Показать статистику
0 голосов
от (2.5тыс. баллов)
редактировать от

Я использую шахматный движок 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  Я запустил: 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 является официальной версией для моей версии ОС (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

Как мне это решить? Я немного новичок, поэтому желательно не ломать мою систему

2тыс. просмотров 1 ответов

1 Ответ

0 голосов
от (26.4тыс. баллов)

Следует отметить, что https://abrok.eu/stockfish/ не является официальным, автор ясно говорит, что пакеты были скомпилированы с помощью gcc 11.2/mingw 10 на Ubuntu 21.10.
Пока вы используете 20.04 LTS, которая старше, а также старее libc и другие основные системные компоненты.

Я вижу два возможных решения:

  • Официальные пакеты от разработчика

    В пакете StockFish для Ubuntu указан следующий URL-адрес в качестве веб-сайта разработчика https://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

    Найти PPA для StockFish возможно . Он завершится, например , deb-пакетом StockFish 12.2 для 20.04 LTS , который можно установить с помощью следующих команд:

    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.5тыс. баллов)
0
Спасибо! Я перешел на официальную версию 14.1, и теперь она работает :)
...