Hallo Leute.
Ich habe eben etwas unfassbar Dummes gemacht. Ich versuche es mal zu rekonstruieren.
Ich arbeite mit openSUSE 15.4 auf einem Standard-Laptop. Ich hatte glibc aus einem Download-Repository installiert (https://download.opensuse.org/…es/devel:/gcc:/next/15.4/) . Das Repository gibt es aber anscheinend nicht mehr. Ich brauchte das mal irgendwann, weil irgendein Programm nur mit neueren GLIBC-Versionen kompiliert hat.
Eben wollte ich valgrind installieren. Mein größter Fehler war vermutlich, dass ich "sudo zypper ref" vergessen habe. Bei der Installation von valgrind wollte er die Pakete aus dem gcc-Repo zurückstufen:
Die folgenden 15 Pakete werden den Anbieter ändern:
binutils obs://build.opensuse.org/devel:gcc -> SUSE LLC <https://www.suse.com/>
binutils-devel obs://build.opensuse.org/devel:gcc -> SUSE LLC <https://www.suse.com/>
elfutils obs://build.opensuse.org/devel:gcc -> SUSE LLC <https://www.suse.com/>
elfutils-lang obs://build.opensuse.org/devel:gcc -> SUSE LLC <https://www.suse.com/>
glibc obs://build.opensuse.org/devel:gcc -> SUSE LLC <https://www.suse.com/>
glibc-devel obs://build.opensuse.org/devel:gcc -> SUSE LLC <https://www.suse.com/>
glibc-extra obs://build.opensuse.org/devel:gcc -> SUSE LLC <https://www.suse.com/>
glibc-lang obs://build.opensuse.org/devel:gcc -> SUSE LLC <https://www.suse.com/>
glibc-locale obs://build.opensuse.org/devel:gcc -> SUSE LLC <https://www.suse.com/>
glibc-locale-base obs://build.opensuse.org/devel:gcc -> SUSE LLC <https://www.suse.com/>
libctf0 obs://build.opensuse.org/devel:gcc -> SUSE LLC <https://www.suse.com/>
libctf-nobfd0 obs://build.opensuse.org/devel:gcc -> SUSE LLC <https://www.suse.com/>
libdw1 obs://build.opensuse.org/devel:gcc -> SUSE LLC <https://www.suse.com/>
libelf1 obs://build.opensuse.org/devel:gcc -> SUSE LLC <https://www.suse.com/>
nscd obs://build.opensuse.org/devel:gcc -> SUSE LLC <https://www.suse.com/>
Alles anzeigen
und dem habe ich zugestimmt. Bei der Installation kam dann bei allen Paketen folgender Fehler:
( 1/16) Installieren: glibc-2.31-150300.20.7.x86_64..................................................................[fertig]
rpm: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib64/libelf.so.1)
rpm: /lib64/libc.so.6: version `GLIBC_2.38' not found (required by /usr/lib64/libelf.so.1)
und nun ist mein System komplett im Eimer. Ich kann nicht mal mehr zypper aufrufen, bin also machtlos:
$ zypper lr
zypper: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib64/libelf.so.1)
zypper: /lib64/libc.so.6: version `GLIBC_2.38' not found (required by /usr/lib64/libelf.so.1)
Sieht aus als hätte ich mir Kompatibilitätsprobleme eingehandelt.
Mein aktuelles GLIBC ist wohl
Das passt auch zu der Ausgabe vom zypper:
Problem: das zu installierende valgrind-3.18.1-150400.1.4.x86_64 erfordert 'glibc < 2.32.0', aber diese Anforderung kann nicht bereitgestellt werden
Nicht installierbare Anbieter: glibc-2.31-150300.20.7.x86_64[repo-oss-15.4]
Lösung 1: Folgende Aktionen werden ausgeführt:
Herabstufung von glibc-2.37.9000.181.gdb9b47e9f9-lp154.3611.1.x86_64 auf glibc-2.31-150300.20.7.x86_64
glibc-2.31-150300.20.7.x86_64 von Hersteller SUSE LLC <https://www.suse.com/> installieren
und glibc-2.37.9000.181.gdb9b47e9f9-lp154.3611.1.x86_64 von Hersteller obs://build.opensuse.org/devel:gcc ersetzen
Herabstufung von binutils-2.40.50-lp154.775.1.x86_64 auf binutils-2.37-150100.7.29.1.x86_64
binutils-2.37-150100.7.29.1.x86_64 von Hersteller SUSE LLC <https://www.suse.com/> installieren
....
noch ca. 20 weitere
Hier hatte ich Lösung 1 ausgewählt.
Hat jemand eine Ahnung wie ich das wieder hinbekomme? Bringt es irgendetwas jetzt manuell die libc.so.6 mit irgendeiner anderen Version zu ersetzen? Oder das libelf.so.1, was sich beim Aufruf von zypper beschwert?
Danke und viele Grüße