Puncte:3

Cum să actualizați libc6 (glibc) dincolo de v 2.31 pe Ubuntu 20.04?

drapel jp

Folosesc motorul de șah Stockfish într-o interfață grafică, dar ieri nu a mai funcționat. Nu schimbasem nici motorul, nici interfața, dar când am încercat să pornesc motorul s-a „terminat cu cod...”, dar nu a scos niciun cod. Singurul lucru care s-ar fi putut schimba este că îmi actualizez în mod regulat pachetele: sudo apt update && sudo apt dist-upgradeși cred că asta trebuie să fi rupt-o. Am instalat cea mai recentă versiune Stockfish și am rulat-o în linia de comandă, iar rezultatul pe care îl oferă este:

./stockfish_21112912_x64_avx2: /lib/x86_64-linux-gnu/libc.so.6: versiunea „GLIBC_2.32” nu a fost găsită (necesar de ./stockfish_21112912_x64_avx2)
./stockfish_21112912_x64_avx2: /lib/x86_64-linux-gnu/libc.so.6: versiunea „GLIBC_2.33” nu a fost găsită (necesar de ./stockfish_21112912_x64_avx2)
./stockfish_21112912_x64_avx2: /lib/x86_64-linux-gnu/libc.so.6: versiunea „GLIBC_2.34” nu a fost găsită (necesar de ./stockfish_21112912_x64_avx2)

Așa că am vrut să fac upgrade GLIBC și am dat peste acest thread: [https://askubuntu.com/questions/736208/upgrading-glibc]: „Glibc (mai bine cunoscut sub numele de GNU C Library) are o furcă pentru Linux care se numește libc6. Libc6 este disponibil prin apt.” am alergat: politica apt-cache libc6, care a dat rezultatul:

libc6:
  Instalat: 2.31-0ubuntu9.2
  Candidat: 2.31-0ubuntu9.2
  Tabel de versiuni:
 *** 2.31-0ubuntu9.2 500
        500 http://de.archive.ubuntu.com/ubuntu focal-updates/main Pachete amd64
        100 /var/lib/dpkg/status
     2.31-0ubuntu9 500
        500 http://de.archive.ubuntu.com/ubuntu focal/main Pachete amd64

Ceea ce îmi spune că în pachetele „normale” 2.31 este versiunea oficială pentru versiunea mea de sistem de operare (Ubuntu 20.04).

Așa că am încercat să o fac manual:Cum se instalează o versiune libc6 >= 2.29?

Am descărcat libc6_2.34-0ubuntu3_amd64.deb de la http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/, așa cum este descris, dar când am alergat: sudo dpkg -i libc6_2.34-0ubuntu3_amd64.deb, a produs următoarea eroare:

dpkg: referitor la libc6_2.34-0ubuntu3_amd64.deb care conține libc6:amd64:
 libc6:amd64 rupe fakeroot (<< 1.25.3-1.1ubuntu2~)
  fakeroot (versiunea 1.24-1) este prezent și instalat.

dpkg: eroare la procesarea arhivei libc6_2.34-0ubuntu3_amd64.deb (--install):
 instalarea libc6:amd64 ar rupe fakeroot și
 deconfigurarea nu este permisă (--auto-deconfigure poate ajuta)
Au fost întâlnite erori în timpul procesării:
 libc6_2.34-0ubuntu3_amd64.deb

Cum rezolv asta? Sunt un pic începător, deci de preferință fără a-mi sparge sistemul

N0rbert avatar
drapel zw
Nu actualizați libc din cauza unei singure aplicații, este o acțiune foarte periculoasă. Cum a fost instalat Stockfish? Care este versiunea sa? Din ce PPA/Flatpak/Appimage/Snap/tar?
drapel jp
Îl iau de aici: https://abrok.eu/stockfish/ Este Linux pentru computere moderne + versiunea av2 care a funcționat întotdeauna. Chiar, chiar depind de asta, mă tem -_-
guiverc avatar
drapel cn
Răspunde asta la întrebarea ta? [De ce depozitele Ubuntu nu au cele mai recente versiuni de software?](https://askubuntu.com/questions/151283/why-dont-the-ubuntu-repositories-have-the-latest-versions-of-software )
N0rbert avatar
drapel zw
Doar curios care este modelul tău de procesor?
drapel jp
@N0rbert este un Intel Core i7-4710HQ
drapel jp
@guiverc Știam deja despre asta, dar chiar depind de funcționarea Stockfish
Puncte:3
drapel zw

Trebuie remarcat faptul că https://abrok.eu/stockfish/ nu este oficial, autorul spune clar că pachetele au fost compilate cu gcc 11.2/mingw 10 pe Ubuntu 21.10.
În timp ce rulați 20.04 LTS, care este mai vechi, la fel are libc mai vechi și alte componente de bază ale sistemului.

Văd două soluții posibile:

  • Pachete oficiale de la dezvoltator

    Pachetul StockFish pentru Ubuntu liste următoarea adresă URL ca site web al dezvoltatorului https://stockfishchess.org . Deci ar trebui să vizitezi https://stockfishchess.org/download/linux/ și apoi descărcați distribuția software relevantă. Pentru momentul scrierii, se poate face programatic, după cum urmează:

    cd ~/Descărcări
    wget -c https://stockfishchess.org/files/stockfish_14.1_linux_x64_avx2.zip
    dezarhivați stockfish_14.1_linux_x64_avx2.zip
    cd stockfish_14.1_linux_x64_avx2
    chmod +x stockfish_14.1_linux_x64_avx2
    

    și apoi rulați-l ca ./stockfish_14.1_linux_x64_avx2.

    Notă: rulează chiar și pe 18.04 LTS, nu se plânge de libc.

  • Un PPA terță parte

    Găsind PPA pentru StockFish este posibil. Se va termina cu de exemplu Pachet deb StockFish 12.2 pentru 20,04 LTS, care poate fi instalat folosind comenzile de mai jos:

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

    Notă: nu sunt sigur despre optimizarea AVX2 aici.

    Se revine la implicit versiunea 11.1 este posibil folosind comenzile de mai jos:

    sudo apt-get install ppa-purge
    sudo ppa-purge ppa:savoury1/games
    
drapel jp
Mulțumesc! Am optat pentru versiunea oficială 14.1 și acum funcționează :)

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.