repat
Anmeldungsdatum: 21. März 2007
Beiträge: 16
Wohnort: Hamburg
|
Hi, für Code, den ich bei github gefunden habe, brauchte ich die Version 2.15(ist bei 12.04 dabei) von libc und habe einfach das .deb von packages.ubuntu.com runtergeladen und über dpkg --install installiert. Jetzt bekomm ich jedes mal bei apt-get upgrade oder apt-get install die Meldung: repat@laptop:~/Downloads$ sudo apt-get install hamfax
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen... Fertig
Probieren Sie »apt-get -f install«, um dies zu korrigieren:
Die folgenden Pakete haben unerfüllte Abhängigkeiten:
aptitude : Hängt ab von: libboost-iostreams1.46.1 (>= 1.46.1-1) soll aber nicht installiert werden
Hängt ab von: libcwidget3 soll aber nicht installiert werden
Empfiehlt: libparse-debianchangelog-perl soll aber nicht installiert werden
hamfax : Hängt ab von: libhamlib2 (>= 1.2.13.1) soll aber nicht installiert werden
libc-dev-bin : Hängt ab von: libc6 (< 2.14) aber 2.15-0ubuntu17 soll installiert werden
libc6 : Hängt ab von: libc-bin (= 2.15-0ubuntu17)
Beschädigt: libc6:i386 (!= 2.15-0ubuntu17) aber 2.13-20ubuntu5.1 soll installiert werden
libc6:i386 : Beschädigt: libc6 (!= 2.13-20ubuntu5.1) aber 2.15-0ubuntu17 soll installiert werden
libc6-dbg : Hängt ab von: libc6 (= 2.13-20ubuntu5.1) aber 2.15-0ubuntu17 soll installiert werden
libc6-dev : Hängt ab von: libc6 (= 2.13-20ubuntu5.1) aber 2.15-0ubuntu17 soll installiert werden
libc6-i386 : Hängt ab von: libc6 (= 2.13-20ubuntu5.1) aber 2.15-0ubuntu17 soll installiert werden
libnih1 : Hängt ab von: libc6 (< 2.14) aber 2.15-0ubuntu17 soll installiert werden
E: Unerfüllte Abhängigkeiten. Versuchen Sie »apt-get -f install« ohne Angabe eines Pakets (oder geben Sie eine Lösung an). In einem der Google-Treffer stand, dass aptitude das lösen könnte, leider hab ich das aber nicht installiert. Es taucht da oben auf, weil ich es auch versucht habe über dpkg zu installieren. Ein apt-get -f install ergibt: repat@laptop:~/Downloads$ sudo apt-get -f install
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen... Fertig
Abhängigkeiten werden korrigiert... fehlgeschlagen.
Die folgenden Pakete haben unerfüllte Abhängigkeiten:
aptitude : Hängt ab von: libboost-iostreams1.46.1 (>= 1.46.1-1) ist aber nicht installiert
Hängt ab von: libcwidget3 ist aber nicht installiert
Empfiehlt: libparse-debianchangelog-perl ist aber nicht installiert
libc-dev-bin : Hängt ab von: libc6 (< 2.14) aber 2.15-0ubuntu17 ist installiert
libc6 : Hängt ab von: libc-bin (= 2.15-0ubuntu17)
Beschädigt: libc6:i386 (!= 2.15-0ubuntu17) aber 2.13-20ubuntu5.1 ist installiert
libc6:i386 : Beschädigt: libc6 (!= 2.13-20ubuntu5.1) aber 2.15-0ubuntu17 ist installiert
libc6-dbg : Hängt ab von: libc6 (= 2.13-20ubuntu5.1) aber 2.15-0ubuntu17 ist installiert
libc6-dev : Hängt ab von: libc6 (= 2.13-20ubuntu5.1) aber 2.15-0ubuntu17 ist installiert
libc6-i386 : Hängt ab von: libc6 (= 2.13-20ubuntu5.1) aber 2.15-0ubuntu17 ist installiert
libnih1 : Hängt ab von: libc6 (< 2.14) aber 2.15-0ubuntu17 ist installiert
E: Fehler: Unterbrechungen durch pkgProblemResolver::Resolve hervorgerufen; dies könnte durch zurückgehaltene Pakete verursacht worden sein.
E: Abhängigkeiten konnten nicht korrigiert werden Wie kann ich das lösen bzw. wieder 2.13(von 11.10) installieren? Den oben genannten Code würde ich dann einfach auf einem anderen System ausführen/kompilieren. Irgendwie fielen mir auch nicht besonders gute Google Stichwörter ein, für das, was ich da veranstaltet hab :-/ Was ich noch versucht habe, ist mit einer Live CD- sowohl /lib/x86_64-linux-gnu/libc-2.15.so als auch die Verknüpfung dahin, /lib/x86_64-linux-gnu/libc.so.6, per Hand zu ändern. Dann kommt es aber beim Reboot zu einem Fehler mit GLIBC. Ubuntu 11.10, 64-Bit Moderiert von tomtomtom: Ins passende Forum verschoben. Bitte beachte die Themenstickies.
|
diesch
Anmeldungsdatum: 18. Februar 2009
Beiträge: 5072
Wohnort: Brandenburg an der Havel
|
Die libc ist ein zentraler Bestandteil eines Linux-Systems, den man nicht austauschen kann, ohne eine Menge anderer Sachen mindestens neu zu kompilieren. Lade das .deb-Paket für 11.10 von packages.ubuntu.com runter und installiere es mit dpkg .
|
mickydoutza
Anmeldungsdatum: 31. Dezember 2010
Beiträge: 2185
|
repat schrieb: für Code, den ich bei github gefunden habe, brauchte ich die Version 2.15(i...) von libc ...
In so einem Fall kannst Du diese lib-Version aus dem source code, ohne Installation (auf deinem PC) kompilieren und mit "-L" für deinen Code benutzen. Z. B.:
env LD_LIBRARY_PATH=/opt/<mylibc>/lib gcc -o <mycode> <mycode>.c -I/opt/<mylibc>/include -L/opt/<mylibc>/lib
|
repat
(Themenstarter)
Anmeldungsdatum: 21. März 2007
Beiträge: 16
Wohnort: Hamburg
|
Dann bekomm ich folgendes: repat@laptop:~/Downloads$ sudo dpkg --install libc6_2.13-20ubuntu5.1_amd64.deb
[sudo] password for repat:
dpkg: Warnung: libc6 wird von 2.15-0ubuntu17 zu 2.13-20ubuntu5.1 deaktualisiert.
(Lese Datenbank ...
dpkg: Warnung: Dateilisten-Datei des Paketes »libc6:i386« fehlt, es wird angenommen,
dass das Paket derzeit keine Dateien installiert hat.
dpkg: Warnung: Dateilisten-Datei des Paketes »libc6« fehlt, es wird angenommen,
dass das Paket derzeit keine Dateien installiert hat.
dpkg: Warnung: Dateilisten-Datei des Paketes »libc6-dev-i386« fehlt, es wird angenommen,
dass das Paket derzeit keine Dateien installiert hat.
dpkg: Warnung: Dateilisten-Datei des Paketes »libc6-i386« fehlt, es wird angenommen,
dass das Paket derzeit keine Dateien installiert hat.
dpkg: Warnung: Dateilisten-Datei des Paketes »libc6-dev« fehlt, es wird angenommen,
dass das Paket derzeit keine Dateien installiert hat.
dpkg: Warnung: Dateilisten-Datei des Paketes »libc6-dbg« fehlt, es wird angenommen,
dass das Paket derzeit keine Dateien installiert hat.
(Lese Datenbank ... 493664 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Ersetzen von libc6 2.15-0ubuntu17 (durch libc6_2.13-20ubuntu5.1_amd64.deb) ...
A copy of the C library was found in an unexpected directory:
'/lib/x86_64-linux-gnu/libc-2.15.so'
It is not safe to upgrade the C library in this situation;
please remove that copy of the C library or get it out of
'/lib/x86_64-linux-gnu' and try again.
dpkg: Fehler beim Bearbeiten von libc6_2.13-20ubuntu5.1_amd64.deb (--install):
Unterprozess neues pre-installation-Skript gab den Fehlerwert 1 zurück
Fehler traten auf beim Bearbeiten von:
libc6_2.13-20ubuntu5.1_amd64.deb
Wie gesagt, manuell ersetzen funktioniert nicht. Wenn ich die Datei lösche oder verschiebe, geht natürlich absolut garnicht mehr-.- edit: irgendwas mit dpkg-divert? ich probier lieber erstmal nichts..
|
Lasall
Ehemalige
Anmeldungsdatum: 30. März 2010
Beiträge: 7723
|
Hi repat, ich würde das pre-install Skript anpassen, sodass es bei der Warnung nicht abbricht. Das Skript liegt unter /var/lib/dpkg/info/libc6:amd64/preinst (das exit 1 in Zeile ~117 entfernen). Backup vorher nicht vergessen. Gruss
Lasall
|
repat
(Themenstarter)
Anmeldungsdatum: 21. März 2007
Beiträge: 16
Wohnort: Hamburg
|
Hi, das klappt leider nicht, weil es das Verzeichnis nicht gibt:
repat@laptop:/var/lib/dpkg/info$ ls | grep libc6
repat@laptop:/var/lib/dpkg/info$ Vielleicht habe ich das ausversehen in früheren Versuchen gelöscht(?)
|
Lasall
Ehemalige
Anmeldungsdatum: 30. März 2010
Beiträge: 7723
|
Hi repat, tut mir Leid, ich hatte mich auch verschrieben. Die Datei sollte unter /var/lib/dpkg/info/libc6:amd64.preinst liegen. Allerdings ist auch diese nicht bei dir vorhanden, deswegen wird das pre-install Skript des aktuellen Paketes verwendet. Um das Skript anzulegen, repacke entweder das heruntergeladene Paket oder extrahiere gleich das Skript an die entsprechende Stelle:
dpkg --info /PFAD/ZU/libc6….deb preinst | sudo tee /var/lib/dpkg/info/libc6\:amd64.preinst Dann bearbeite diese Datei und versuche anschließend die Installation durchzuführen. Gruss
Lasall
|
repat
(Themenstarter)
Anmeldungsdatum: 21. März 2007
Beiträge: 16
Wohnort: Hamburg
|
Selbes Problem :-/ repat@laptop:~/Downloads$ sudo dpkg --install libc6_2.13-20ubuntu5.1_amd64.deb
dpkg: Warnung: libc6 wird von 2.15-0ubuntu17 zu 2.13-20ubuntu5.1 deaktualisiert.
(Lese Datenbank ...
dpkg: Warnung: Dateilisten-Datei des Paketes »libc6:i386« fehlt, es wird angenommen,
dass das Paket derzeit keine Dateien installiert hat.
dpkg: Warnung: Dateilisten-Datei des Paketes »libc6« fehlt, es wird angenommen,
dass das Paket derzeit keine Dateien installiert hat.
dpkg: Warnung: Dateilisten-Datei des Paketes »libc6-dev-i386« fehlt, es wird angenommen,
dass das Paket derzeit keine Dateien installiert hat.
dpkg: Warnung: Dateilisten-Datei des Paketes »libc6-i386« fehlt, es wird angenommen,
dass das Paket derzeit keine Dateien installiert hat.
dpkg: Warnung: Dateilisten-Datei des Paketes »libc6-dev« fehlt, es wird angenommen,
dass das Paket derzeit keine Dateien installiert hat.
dpkg: Warnung: Dateilisten-Datei des Paketes »libc6-dbg« fehlt, es wird angenommen,
dass das Paket derzeit keine Dateien installiert hat.
(Lese Datenbank ... 493664 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Ersetzen von libc6 2.15-0ubuntu17 (durch libc6_2.13-20ubuntu5.1_amd64.deb) ...
A copy of the C library was found in an unexpected directory:
'/lib/x86_64-linux-gnu/libc-2.15.so'
It is not safe to upgrade the C library in this situation;
please remove that copy of the C library or get it out of
'/lib/x86_64-linux-gnu' and try again.
dpkg: Fehler beim Bearbeiten von libc6_2.13-20ubuntu5.1_amd64.deb (--install):
Unterprozess neues pre-installation-Skript gab den Fehlerwert 1 zurück
Fehler traten auf beim Bearbeiten von:
libc6_2.13-20ubuntu5.1_amd64.deb
Zeile 109-119 von libc6:amd64.preinst sehen so aus:
# Output an error message and exit
echo
echo "A copy of the C library was found $msg:"
echo " '$lib'"
echo "It is not safe to upgrade the C library in this situation;"
echo "please remove that copy of the C library or get it out of"
echo "'$dir' and try again."
echo
# exit 1
done
}
|
Lasall
Ehemalige
Anmeldungsdatum: 30. März 2010
Beiträge: 7723
|
Hi repat, entferne wieder die Datei und bearbeite das Paket direkt (siehe dazu hier). Falls sich jemand dafür interessiert, warum der letzte Versuch nicht funktioniert hat, siehe 6.5 Summary of ways maintainer scripts are called 🇬🇧 in der Policy. Gruss
Lasall
|
repat
(Themenstarter)
Anmeldungsdatum: 21. März 2007
Beiträge: 16
Wohnort: Hamburg
|
Sehr geil, das hat geklappt:) Vielen, vielen Dank:)
|
repat
(Themenstarter)
Anmeldungsdatum: 21. März 2007
Beiträge: 16
Wohnort: Hamburg
|
Hi, nächstes Problem, hängt aber damit zusammen: Nach einem apt-get upgrade und einem reboot funktionieren bei mir einige Programme nicht mehr. Ich bekomm z.B. bei gnome-panel die Meldung: Speicherzugriffsfehler. In der recovery shell bekomm ich dann eine genauere Fehlermeldung:
[626.107295] gnome-panel[1951]; segfault at b0 ip 00007f63a7325721 sp 00007fff943d1fd0 error 4 in libc-2.15.so[7f63a71f6000+1b3000]
Speicherzugriffsfehler Also, die libc6-2.13 Installation ist zwar geglückt, aber er zeigte diese Meldungen weiterhin an:
dpkg: Warnung: Dateilisten-Datei des Paketes »libc6-dev-i386« fehlt, es wird angenommen,
dass das Paket derzeit keine Dateien installiert hat. Dabei hab ich mir dann nichts gedacht, aber es scheint so als würden die Programme trotzdem noch zum Teil 2.15 verwenden. Jetzt hab ich Angst, dass wenn ich die Datei einfach lösche, dann garnichts mehr funktioniert.
|
Lasall
Ehemalige
Anmeldungsdatum: 30. März 2010
Beiträge: 7723
|
Hi repat, zeige bitte:
dpkg -l 'libc-*' 'libc6*'
ls -l /lib/x86_64-linux-gnu/ | grep libc- Wegen der Warnung mit der Dateilistendatei solltest du diese ganzen Pakete reinstallieren. Gruss
Lasall
|
repat
(Themenstarter)
Anmeldungsdatum: 21. März 2007
Beiträge: 16
Wohnort: Hamburg
|
Ok, ich glaube ich habs gerade entdeckt. Die libc.so.6 zeigt auf 2.15, nicht 2.13. Soll ich das einfach mal umbiegen? ls -l /lib/x86_64-linux-gnu/ | grep libc- ergibt:
[...]libc-2.13.so
[...]libc-2.15.so
[...]libc.so.6 -> libc-2.15 Der andere Befehl ergibt: ii libc-bin 2.13-20ubuntu5
un libc-dbg <keine>
un libc-dev <keine>
ii libc-dev-bin 2.13-20ubuntu5
ii libc6 2.13-20ubuntu5
un libc6-amd64 <keine>
ii libc6-dbg 2.13-20ubuntu5
ii libc6-dev 2.13-20ubuntu5
ii libc6-dev-i386 2.13-20ubuntu5
ii libc6-i386 2.13-20ubuntu5
un libc6-686 <keine>
un libc6.1 <keine>
un libc6.1-dev <keine> update: ln auf 2.13 bringt nichts, jetzt bekomm ich:
/sbin/init: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.14' not found (required by /lib x86_64-linux-gnu/libpthread.so.0)
/sbin/init: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.14' not found (required by /lib x86_64-linux-gnu/librt.so.1) ldd --version ergibt aber:
ldd (Ubuntu EGLIBC 2.13-20ubuntu5.1) 2.13 Die Pakete konnte ich alle re-installieren, außer dieses hier:
repat@laptop:~$ sudo apt-get install --reinstall libc6:i386
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen... Fertig
0 aktualisiert, 0 neu installiert, 1 erneut installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen noch 0 B von 3.800 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 0 B Plattenplatz zusätzlich benutzt.
E: Internal Error, No file name for libc6
repat@laptop:~$ sudo apt-get install libc6:i386
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen... Fertig
libc6:i386 ist schon die neueste Version.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
repat@tauri:~$
repat@laptop:~$ sudo dpkg-reconfigure libc6:i386
repat@laptop:~$
|
Lasall
Ehemalige
Anmeldungsdatum: 30. März 2010
Beiträge: 7723
|
Hi repat, hast du die Pakete schon reinstalliert? Ich kenne die Konfigurationsroutine der Standardbibliothek nicht, prinzipiell sollten aber die Dateien ersetzt werden. Hast du nachdem du den Link geändert hast, neu gestartet? (Ins System kommst du ja immer noch per Live-CD.) Zeige bitte zuerst:
objdump -p /lib/x86_64-linux-gnu/libpthread.so.0 | grep -A 99 required Gruss
Lasall
|
repat
(Themenstarter)
Anmeldungsdatum: 21. März 2007
Beiträge: 16
Wohnort: Hamburg
|
repat@laptop:~$ objdump -p /lib/x86_64-linux-gnu/libpthread.so.0 | grep -A 99 required
required from ld-linux-x86-64.so.2:
0x09691a75 0x00 16 GLIBC_2.2.5
0x0d696913 0x00 15 GLIBC_2.3
0x0963cf85 0x00 14 GLIBC_PRIVATE
required from libc.so.6:
0x06969194 0x00 17 GLIBC_2.14
0x09691972 0x00 13 GLIBC_2.3.2
0x0963cf85 0x00 12 GLIBC_PRIVATE
0x09691a75 0x00 11 GLIBC_2.2.5 s.o., ich habe den Post nochmal editiert, ich habe die Pakete re-installiert bekommen bis auf das mit dem :i386, und was sinnvolles findet man bei google auch nicht, weil er das als -i386 versteht. repat schrieb: Die Pakete konnte ich alle re-installieren, außer dieses hier:
repat@laptop:~$ sudo apt-get install --reinstall libc6:i386
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen... Fertig
0 aktualisiert, 0 neu installiert, 1 erneut installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen noch 0 B von 3.800 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 0 B Plattenplatz zusätzlich benutzt.
E: Internal Error, No file name for libc6
repat@laptop:~$ sudo apt-get install libc6:i386
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen... Fertig
libc6:i386 ist schon die neueste Version.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
repat@tauri:~$
repat@laptop:~$ sudo dpkg-reconfigure libc6:i386
repat@laptop:~$
Beim Installieren von Programmen bekomme ich also immer noch die Meldung:
(Lese Datenbank ...
dpkg: Warnung: Dateilisten-Datei des Paketes »libc6:i386« fehlt, es wird angenommen,
dass das Paket derzeit keine Dateien installiert hat. Ich hab einen reboot gemacht und dann den Fehler mit GLIBC bekommen. Dann habe ich per LiveCD alles zurückgesetzt, damit ich diesen Beitrag schreiben kann (OpenBox funktioniert halbwegs)
|