Рейтинг:3

Как обновить libc6 (glibc) выше версии 2.31 на Ubuntu 20.04?

флаг jp

Я использую шахматный движок Stockfish в каком-то графическом интерфейсе, но вчера он перестал работать. Я не менял ни движок, ни интерфейс, но когда я попытался запустить движок, он "завершился с кодом...", но не вывел никакого кода. Единственное, что могло бы измениться, это то, что я регулярно обновляю свои пакеты: sudo apt update && sudo apt dist-upgrade, и я думаю, что это, должно быть, сломало его. Я установил последнюю версию Stockfish и запустил ее в командной строке, и она выдает:

./stockfish_21112912_x64_avx2: /lib/x86_64-linux-gnu/libc.so.6: версия GLIBC_2.32 не найдена (требуется ./stockfish_21112912_x64_avx2)
./stockfish_21112912_x64_avx2: /lib/x86_64-linux-gnu/libc.so.6: версия GLIBC_2.33 не найдена (требуется ./stockfish_21112912_x64_avx2)
./stockfish_21112912_x64_avx2: /lib/x86_64-linux-gnu/libc.so.6: версия GLIBC_2.34 не найдена (требуется ./stockfish_21112912_x64_avx2)

Поэтому я хотел обновить GLIBC и наткнулся на эту тему: [https://askubuntu.com/questions/736208/upgrading-glibc]: «Glibc (более известная как библиотека GNU C) имеет ответвление для Linux, которое называется libc6. Libc6 доступен через apt». я побежал: Политика apt-cache libc6, что дало вывод:

библиотека6:
  Установлено: 2.31-0ubuntu9.2
  Кандидат: 2.31-0ubuntu9.2
  Таблица версий:
 *** 2.31-0ubuntu9.2 500
        500 http://de.archive.ubuntu.com/ubuntu focus-updates/main Пакеты amd64
        100 /var/lib/dpkg/статус
     2.31-0ubuntu9 500
        500 http://de.archive.ubuntu.com/ubuntu focus/main Пакеты amd64

Что говорит мне в «обычных» пакетах, 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: относительно libc6_2.34-0ubuntu3_amd64.deb, содержащего libc6:amd64:
 libc6:amd64 ломает fakeroot (<< 1.25.3-1.1ubuntu2~)
  fakeroot (версия 1.24-1) присутствует и установлен.

dpkg: ошибка обработки архива libc6_2.34-0ubuntu3_amd64.deb (--install):
 установка libc6:amd64 сломает fakeroot, и
 деконфигурация не разрешена (может помочь --auto-deconfigure)
При обработке возникли ошибки:
 libc6_2.34-0ubuntu3_amd64.deb

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

N0rbert avatar
флаг zw
Не обновляйте libc из-за одного приложения, это очень опасное действие. Как был установлен Stockfish? Какова его версия? Из какого PPA/Flatpak/Appimage/Snap/tar?
флаг jp
Я беру отсюда: https://abrok.eu/stockfish/ Это версия Linux для современных компьютеров + версия av2, которая всегда работала. Боюсь, я очень, очень от этого завишу -_-
guiverc avatar
флаг cn
Отвечает ли это на ваш вопрос? [Почему в репозиториях Ubuntu нет последних версий программного обеспечения?](https://askubuntu.com/questions/151283/why-dont-the-ubuntu-repositories-have-the-latest-versions-of-software )
N0rbert avatar
флаг zw
Просто интересно, какая у вас модель процессора?
флаг jp
@N0rbert, это Intel Core i7-4710HQ.
флаг jp
@guiverc Я уже знал об этом, но я действительно завишу от работы Stockfish.
Рейтинг:3
флаг zw

Необходимо отметить, что 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/ а затем загрузите соответствующий дистрибутив программного обеспечения. На момент написания это можно сделать программно следующим образом:

    компакт-диск ~/Загрузки
    wget -c https://stockfishchess.org/files/stockfish_14.1_linux_x64_avx2.zip
    распаковать stockfish_14.1_linux_x64_avx2.zip
    компакт-диск вяленая рыба_14.1_linux_x64_avx2
    chmod +x вяленая рыба_14.1_linux_x64_avx2
    

    а затем запустить его как ./вяленая рыба_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-получить обновление
    sudo apt-get установить вяленую рыбу
    

    Примечание. Я не уверен в оптимизации AVX2.

    Возврат к настройкам по умолчанию 11.1 версия можно с помощью следующих команд:

    sudo apt-get установить ppa-purge
    sudo ppa-purge ppa:savoury1/games
    
флаг jp
Спасибо! Я пошел на официальную версию 14.1, и теперь она работает :)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.