Wie behebe ich einen Fehler mit libc6-dev-armhf-cross in Ubuntu 18.04, wenn ich versuche, ein Upgrade durchzuführen?

22

Während ich heute versuche, auf der Grundlage des Vorschlags der Ubuntu-Software ein Upgrade durchzuführen, werden die folgenden Fehler angezeigt. Dies ist das erste Mal, dass ich diesen Fehler sehe. Mein 18.04-System funktioniert seit vielen Monaten einwandfrei.

Jede Hilfe wird geschätzt.

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu 
DISTRIB_RELEASE=18.04 
DISTRIB_CODENAME=bionic 
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"



$ sudo apt upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  libc6-armel-cross libc6-armhf-cross libc6-dev-armel-cross libc6-dev-armhf-cross
4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/5,871 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 388166 files and directories currently installed.)
Preparing to unpack .../libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-dev-armel-cross (2.27-3ubuntu1cross1.1) over (2.27-3ubuntu1cross1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
 unable to open '/usr/arm-linux-gnueabi/lib/Mcrt1.o.dpkg-new': No such file or directory
No apport report written because the error message indicates an issue on the local system
                                                                                         Preparing to unpack .../libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-armel-cross (2.27-3ubuntu1cross1.1) over (2.27-3ubuntu1cross1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
 unable to open '/usr/arm-linux-gnueabi/lib/ld-2.27.so.dpkg-new': No such file or directory
No apport report written because the error message indicates an issue on the local system
                                                                                         Preparing to unpack .../libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-dev-armhf-cross (2.27-3ubuntu1cross1.1) over (2.27-3ubuntu1cross1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
 unable to open '/usr/arm-linux-gnueabihf/lib/Mcrt1.o.dpkg-new': No such file or directory
No apport report written because the error message indicates an issue on the local system
                                                                                         Preparing to unpack .../libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-armhf-cross (2.27-3ubuntu1cross1.1) over (2.27-3ubuntu1cross1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
 unable to open '/usr/arm-linux-gnueabihf/lib/ld-2.27.so.dpkg-new': No such file or directory
No apport report written because MaxReports is reached already
                                                              Errors were encountered while processing:
 /var/cache/apt/archives/libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.deb
 /var/cache/apt/archives/libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb
 /var/cache/apt/archives/libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb
 /var/cache/apt/archives/libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Urivan Flores
quelle
Bei einigen heruntergeladenen Paketen ist ein Fehler aufgetreten. Versuchen Sie, sudo apt cleandas Upgrade auszuführen , und führen Sie es dann erneut aus.
Kristopher Ives
1
Ich habe versucht, den Paket-Cache zu leeren und die Pakete erneut herunterzuladen, aber das gleiche Problem ist aufgetreten.
Urivan Flores

Antworten:

16

Versuchen Sie es erneut libc6-dev-armhf-cross(machen Sie dasselbe für libc6-dev-armel-cross)

sudo apt remove libc6-dev-armhf-cross gefolgt von sudo apt install libc6-dev-armhf-cross

( apt install --reinstallscheint nicht zu funktionieren)

Beachten Sie, dass durch das Ausführen sudo apt removemöglicherweise Pakete entfernt werden, die davon abhängig sind. Siehe Olek Wojnar Antwort unten, wie dies zu tun , ohne abhängige Pakete entfernen

Rufus
quelle
Hallo Woofas, ich habe auch versucht, --reinstall, aber nicht gedacht, dass es einen Unterschied beim Entfernen und Installieren geben würde. Ich habe es gerade versucht und jetzt wird es richtig installiert. Vielen Dank!
Urivan Flores
1
Das hätte für mich fast geklappt, ich musste all diese entfernen - und dann neu installierenlibc6-dev-armhf-cross libc6-armel-cross libc6-dev-armel-cross libc6-armhf-cross
AM
1
Möglicherweise müssen Sie andere Pakete neu installieren, die aufgrund von Abhängigkeiten entfernt wurden, wie z. B. gcc. Weitere Informationen finden Sie in meinem Post unten.
John JJ
Wie John sagte, müssen Sie die Pakete berücksichtigen, die entfernt werden. Schauen Sie sich meine Antwort an, um eine ziemlich saubere Lösung dafür zu finden.
Olek Wojnar
37

Ich konnte dieses Problem mit einer Variante des Ansatzes von Gen.Stack sauber lösen . Das Problem mit der akzeptierten Lösung besteht darin, dass Abhängigkeiten der betreffenden Pakete entfernt werden, diese jedoch nicht wiederhergestellt werden können. Diese Lösung verhindert dieses Problem.

Entfernen Sie zunächst die Problempakete und bereinigen Sie ihre Konfiguration, ohne Abhängigkeiten zu entfernen:

sudo dpkg -P --force-depends libc6-armel-cross libc6-armhf-cross libc6-dev-armel-cross libc6-dev-armhf-cross

Bereinigen Sie den Paket-Cache:

sudo apt clean

Aktualisieren Sie die Paketliste:

sudo apt update

Korrigieren Sie defekte Abhängigkeiten (sollten automatisch zwei der entfernten Pakete installieren):

sudo apt -f install

Installieren Sie abschließend die verbleibenden zwei Pakete:

sudo apt install libc6-dev-armel-cross libc6-dev-armhf-cross

Dadurch wird Ihr System wieder funktionsfähig.

Olek Wojnar
quelle
3
funktioniert gut. für ein Upgrade von Ubuntu 14.04 auf Ubuntu 18.04
ravi.zombie
3
Danke, ich habe auch Ubuntu 14.04, 16.04 bis 18.04 für das gleiche Problem gelöst.
minish
2
Tolle. Mein Paketmanager war nach dem Upgrade von Ubuntu 16.04 auf 18.04 so kaputt. Ich habe alles ausprobiert, was die Kommandozeile empfohlen hat und verschiedene andere Lösungen online. Dieser scheint perfekt funktioniert zu haben. Vielen Dank, dass Sie Olek Wojnar!
Evanrmurphy
1
Ich liebe eine gute, übersichtliche Lösung, die funktioniert! Vielen Dank.
Whome
1

Bei Verwendung der obigen apt-Methode zum Entfernen / Installieren können Abhängigkeiten dazu führen, dass apt mehr entfernt, als Sie beabsichtigen. Möglicherweise müssen Sie auch andere Pakete neu installieren. Ich habe auch folgendes neu installiert.

Einige davon würden bereits automatisch neu installiert, aber es war einfacher, die Liste der entfernten Pakete zu kopieren und apt über die erforderlichen Maßnahmen zu informieren.

sudo apt-get install \
  g++-7-arm-linux-gnueabihf g++-7-multilib-arm-linux-gnueabihf g++-arm-linux-gnueabihf \
  gcc-7-arm-linux-gnueabihf gcc-7-multilib-arm-linux-gnueabihf gcc-arm-linux-gnueabihf \
  libasan4-armhf-cross libasan4-dbg-armhf-cross libatomic1-armhf-cross libatomic1-dbg-armhf-cross \
  libc6-armel-armhf-cross libc6-armel-cross libc6-armhf-cross libc6-dev-armel-armhf-cross \
  libc6-dev-armel-cross libc6-dev-armhf-cross libcilkrts5-armhf-cross libcilkrts5-dbg-armhf-cross \
  libgcc-7-dev-armhf-cross libgcc1-armhf-cross libgcc1-dbg-armhf-cross libgomp1-armhf-cross \
  libgomp1-dbg-armhf-cross libsfasan4-armhf-cross libsfatomic1-armhf-cross \
  libsfcilkrts5-armhf-cross libsfgcc-7-dev-armhf-cross libsfgcc1-armhf-cross \
  libsfgomp1-armhf-cross libsfstdc++-7-dev-armhf-cross libsfstdc++6-armhf-cross \
  libsfubsan0-armhf-cross libstdc++-7-dev-armhf-cross libstdc++6-7-dbg-armhf-cross \
  libstdc++6-armhf-cross libubsan0-armhf-cross libubsan0-dbg-armhf-cross \
John JJ
quelle
Ich finde es gut, dass Sie das Problem entfernter Abhängigkeiten in Ihrer Antwort identifiziert haben. Leider würde Ihre Lösung alle diese Pakete als manuell installiert markieren und sie würden daher nicht automatisch entfernt, wenn sie in Zukunft nicht mehr benötigt werden.
Olek Wojnar
1

Versuchen Sie Folgendes, um zu verhindern, dass zu viele Abhängigkeiten entfernt werden dpkg -P --force-depends:

dpkg -P --force-depends libc6-armel-cross libc6-armhf-cross libc6-dev-armel-cross libc6-dev-armhf-cross

Aktualisieren, holen und installieren Sie diese Pakete dann erneut:

apt update
[...]
apt clean
apt install libc6-armel-cross libc6-armhf-cross libc6-dev-armel-cross libc6-dev-armhf-cross
Building dependency tree       
Reading state information... Done
After this operation, 0 B of additional disk space will be used.
Get:1 http://en.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 libc6-armel-cross all 2.27-3ubuntu1cross1.1 [1,031 kB]
Get:2 http://en.archive.ubuntu.com/ubuntu bionic-updates/main amd64 libc6-armhf-cross all 2.27-3ubuntu1cross1.1 [1,005 kB]
Get:3 http://en.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 libc6-dev-armel-cross all 2.27-3ubuntu1cross1.1 [1,936 kB]
Get:4 http://en.archive.ubuntu.com/ubuntu bionic-updates/main amd64 libc6-dev-armhf-cross all 2.27-3ubuntu1cross1.1 [1,899 kB]
Fetched 5,871 kB in 9s (661 kB/s)                                                                                                                                                           
Selecting previously unselected package libc6-armel-cross.
(Reading database ... 760110 files and directories currently installed.)
Preparing to unpack .../libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-armel-cross (2.27-3ubuntu1cross1.1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
 unable to open '/usr/arm-linux-gnueabi/lib/ld-2.27.so.dpkg-new': No such file or directory
No apport report written because the error message indicates an issue on the local system
[...]

Also kein Glück bei der Neuinstallation weder durch --reinstallnoch manuell mit Abhängigkeiten noch durch Verwendung dpkg -[P|i] --force-depends.

2018-10-09: Da diese Pakete immer noch defekt sind, aber keine Updates in Sicht sind, habe ich sie alle entfernt, um apt zum (Deinstallieren) von Paketen verwenden zu können. Das Verlassen des Status Quo bedeutete, dass Pakete nicht installiert oder entfernt werden konnten. Ich verwende lokal installierte Toolchains, um meine Anforderungen zu erfüllen.

Bearbeiten: Hinweis zum Entfernen aller fehlerhaften Pakete und Abhängigkeiten.

Gen.Stack
quelle
@Olek: Danke für die Bearbeitung. Aber nein, es funktioniert bei mir nicht. Deshalb habe ich den Posten so verlassen, wie ich es getan habe. Selbst jetzt mit Ihrer Bearbeitung bietet mir dies keine Lösung für dieses Problem. Würde es Ihnen etwas ausmachen, Ihre Bearbeitung rückgängig zu machen? Danke.
Gen.Stack
Seltsam, dass es auf Ihrer Maschine nicht funktioniert hat. Ich hatte genau das gleiche Problem und meine Lösung hat es behoben. Aufgrund der Funktionsweise bin ich ehrlich gesagt verwirrt, warum es bei Ihnen nicht funktioniert. Vielleicht liegt für Sie ein anderes Problem vor? Auf jeden Fall habe ich meine eigene Antwort erstellt. Viel Glück beim Beheben Ihrer Probleme!
Olek Wojnar
@OlekWojnar ja, es ist seltsam. Ich ignoriere ab sofort die zugrunde liegenden Gründe. Ich werde nicht tiefer graben, da ich die andere Toolchain besitze. Wenn ich eines Tages weiß, wie das zu lösen ist, aktualisiere ich dies. thx
Gen.Stack
0

Ich habe den Fehler mit dem synaptic package manager in Ubuntu 18.04 behoben, indem ich problamatic-Pakete entfernt und sie später erneut installiert habe.

abhi sr
quelle
-1

Ich habe den gleichen Fehler beim Installieren libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.debund libc6-armel-cross_2.27-3ubuntu1cross1.1_all.debPacken und Ausführen

apt -f install 

hat nicht funktioniert. Ich habe die libc6-dev-armel-cross_2.27-3ubuntu1cross1_all.deb and libc6-armel-cross_2.27-3ubuntu1cross1_all.debvom Ubuntu-Paketspiegel heruntergeladen und mit installiert

dpkg -i *.deb 

und es löste mein Problem.

Patrick
quelle
Vielen Dank Patrick, wie Woofas erwähnt hat, hat das Entfernen und Installieren das Problem gelöst.
Urivan Flores