¿Cómo actualizar libc6 (glibc) más allá de la versión 2.31 en Ubuntu 20.04?

¿Cómo actualizar libc6 (glibc) más allá de la versión 2.31 en Ubuntu 20.04?

Estoy usando el motor de ajedrez Stockfish dentro de alguna GUI, pero ayer dejó de funcionar. No había cambiado el motor ni la interfaz, pero cuando intenté ejecutar el motor "terminó con código...", pero no generó ningún código. Lo único que podría haber cambiado es que actualizo regularmente mis paquetes: sudo apt update && sudo apt dist-upgradey supongo que eso debe haberlo roto. Instalé la última versión de Stockfish y la ejecuté en la línea de comando, y el resultado que arroja es:

./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)

Entonces quería actualizar GLIBC y encontré este hilo: [https://askubuntu.com/questions/736208/upgrading-glibc]: "Glibc (mejor conocida como Biblioteca GNU C) tiene una bifurcación para Linux que se llama libc6 Libc6 está disponible a través de apt." Ejecuté: apt-cache policy libc6, que dio el resultado:

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

Lo que me dice dentro de los paquetes "normales" 2.31 es la versión oficial para mi versión de SO (Ubuntu 20.04).

Entonces intenté hacerlo manualmente:¿Cómo instalar una versión libc6 >= 2.29?

Descargué libc6_2.34-0ubuntu3_amd64.deb dehttp://archive.ubuntu.com/ubuntu/pool/main/g/glibc/, como se describe, pero cuando ejecuté: sudo dpkg -i libc6_2.34-0ubuntu3_amd64.deb, produjo el siguiente error:

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

¿Cómo puedo solucionar esto? Soy un poco novato, así que preferiblemente sin romper mi sistema.

Respuesta1

se debe notar quehttps://abrok.eu/stockfish/no es oficial, el autor dice claramente que los paquetes se compilaron con gcc 11.2/mingw 10 en Ubuntu 21.10.
Mientras ejecuta 20.04 LTS, que es más antiguo, también tiene libc y otros componentes centrales del sistema más antiguos.

Veo dos posibles soluciones:

  • Paquetes oficiales del desarrollador.

    El paquete StockFish para Ubuntulizala siguiente URL como sitio web del desarrolladorhttps://stockfishchess.org. Entonces deberías visitarhttps://stockfishchess.org/download/linux/y luego descargue la distribución de software relevante. Por el momento, se puede realizar mediante programación de la siguiente manera:

    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
    

    y luego ejecutarlo como ./stockfish_14.1_linux_x64_avx2.

    Nota: se ejecuta incluso en 18.04 LTS, no se queja de libc.

  • Algunos PPA de terceros

    HallazgoEl PPA para StockFish es posible. Terminará con por ejemploPaquete deb StockFish 12.2 por 20.04 LTS, que se puede instalar usando los siguientes comandos:

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

    Nota: No estoy seguro acerca de la optimización AVX2 aquí.

    Volviendo al valor predeterminadoversión 11.1es posible usando los siguientes comandos:

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

Respuesta2

Tuve el mismo problema con Stockfish 15 en Ubuntu 20.04. Sin embargo, no es demasiado difícil compilar desde el código fuente siguiendo las instrucciones enhttps://github.com/official-stockfish/Stockfish#compiling-stockfish-yourself-from-the-sources

cd src
make help

luego verifique el último arco soportado, ej. grep bmi2 /proc/cpuinfoy hacer con el arco adecuado:

make net 
make build ARCH=x86-64-bmi2

información relacionada